blob: 6401f008d2e0a27fa4feeb6770f60dfceb9456a5 [file] [log] [blame]
.. title:: clang-tidy - bugprone-string-integer-assignment
bugprone-string-integer-assignment
==================================
The check finds assignments of an integer to ``std::basic_string<CharT>``
(``std::string``, ``std::wstring``, etc.). The source of the problem is the
following assignment operator of ``std::basic_string<CharT>``:
.. code-block:: c++
basic_string& operator=( CharT ch );
Numeric types can be implicitly casted to character types.
.. code-block:: c++
std::string s;
int x = 5965;
s = 6;
s = x;
Use the appropriate conversion functions or character literals.
.. code-block:: c++
std::string s;
int x = 5965;
s = '6';
s = std::to_string(x);
In order to suppress false positives, use an explicit cast.
.. code-block:: c++
std::string s;
s = static_cast<char>(6);