tidy - bugprone-string-integer-assignment — Extra Clang Tools 22.0.0git documentation (original) (raw)

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>:

basic_string& operator=( CharT ch );

Numeric types can be implicitly casted to character types.

std::string s; int x = 5965; s = 6; s = x;

Use the appropriate conversion functions or character literals.

std::string s; int x = 5965; s = '6'; s = std::to_string(x);

In order to suppress false positives, use an explicit cast.

std::string s; s = static_cast(6);