VS2015中以下代码的输出是“构造函数”。构造函数是否应该被赋值?
由于缺少赋值运算符,不应该编译失败吗?
struct A { };
struct B {
B(){}
B(const A& a) {
cout << "constructor" << endl;
}
//B& operator=(const A& a) {
// cout << "assignment operator" << endl;
// return *this;
//}
};
int main() {
A a;
B b;
b = a;
return 0;
}
这对你很有用:http://stackoverflow.com/questions/3734247/what-are-all-the-member-functions由编译器创建的一个类似于do-hap- – SenselessCoder
Bu那些不处理任何转换,如从A到B,对吗? – bitwise
哦,我现在看到它了,我认为它是其中之一,B是从A.继承A.道歉。在这种情况下,我认为有一些奇怪的事情发生。这可能是编译器的事情。 – SenselessCoder