这个编译:-)
string name;
name = 1;
这不是:
string name = 1;
有什么想法吗?
我知道这是错误的。 . .那不是重点。第一个给出笑脸。
最佳答案
第一个编译是因为赋值运算符被称为具有一个签名“string& operator= ( char c )”并且编译器可以将 1 转换为 char。
第二个不会编译,因为它调用了没有兼容签名的复制构造函数。
关于c++ - VS2008 C++ 编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359172/