0
我有2個測試類:C++嵌套構造函數調用問題
class B {
public:
B(int i) {
qDebug() << "B constructor ";
}
};
class A {
public:
A(B b) {
qDebug() << "A constructor ";
}
};
現在我想建立與B A的對象,這就是我做什麼:
int i = 5;
A test (B(i)); //does not work
代碼編譯沒有錯誤,但第二行根本不執行。我做了一些測試,下面的代碼工作得很好:
int i = 5;
A test (B((int)i)); //works
A test (B(5)); //works
所以,我想編譯器不能解釋的「i」爲INT乙構造函數調用裏面,但是爲什麼呢?
是的,謝謝,這解釋了很多.. C++永遠不會「驚歎」我 –