bugprone-string-integer-assignment¶
该检查会找到将整数赋值给 std::basic_string<CharT>
(std::string
, std::wstring
等) 的情况。问题的根源在于 std::basic_string<CharT>
的以下赋值运算符
basic_string& operator=( CharT ch );
数值类型可以隐式转换为字符类型。
std::string s;
int x = 5965;
s = 6;
s = x;
请使用适当的转换函数或字符字面量。
std::string s;
int x = 5965;
s = '6';
s = std::to_string(x);
为了抑制误报,请使用显式转换。
std::string s;
s = static_cast<char>(6);