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++永远不会“惊叹”我 –