构造函数调用构造函数行吗??
struct TT
{
TT(int i):mi(i){}
TT()
{
TT(0);
}
int mi;
};
int main()
{
TT t;
return 0;
}
请问为什么t的值不是0呢??
[解决办法]
标准语法不支持。如果你一定想这么做的话,用placement new。
[解决办法]
这样相对于构造了一个临时对象吧
[解决办法]
TT(0);
你这里只是构造了一个临时对象,和你this对象完全没任何联系
[解决办法]
试试
T()
: new(this) T(0)
{
}
[解决办法]
这样呢?
TT()
{
*this = TT(0);
}
[解决办法]
说说你这么做的目的吧
[解决办法]
Sorry,应该是这样:
A() { new(this) A(0); }
[解决办法]
从来就不提倡用placement new