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