【发布时间】:2017-11-27 09:43:49
【问题描述】:
std::string (std::basic_string) 有 'char' 类型的赋值运算符。 但是,出于这个原因, std::string 可以分配任何整数类型。 看小例子。
#include <string>
enum MyEnum{ Va = 0, Vb = 2, Vc = 4 };
int main(){
std::string s;
s = 'a'; // (1) OK - logical.
s = Vc; // (2) Ops. Compiled without any warnings.
s = true; // (3) Ops....
s = 23; // (4) Ops...
}
问:如何禁用(或添加警告)(2、3、4)情况??
【问题讨论】:
-
为您的问题添加更多上下文,并在每个示例中包含所述编译器警告/错误。