Non*_*biz 2 c++ constructor initialization variable-assignment
这个编译:-)
string name;
name = 1;
Run Code Online (Sandbox Code Playgroud)
这不是:
string name = 1;
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我知道这是错的...这不是重点.第一个给人一个笑脸.
Rob*_*rtL 14
第一个编译是因为赋值赋值运算符被称为"string&operator =(char c)"的一个签名,编译器可以将1转换为char.
第二个不会编译,因为它调用没有兼容签名的复制构造函数.