我想创建一个包含相同类型对象的对象。当您创建此类型的对象时,它会创建另一个创建另一个对象,依此类推,直到长度耗尽为止。但是,我得到临时警告的接收地址。我该如何解决这个问题?
class A {
A(int len) {
if(len > 0) {
_a = & A(len-1);
}
else {
_a = NULL;
}
}
A* _a;
}
答案 0 :(得分:7)
而不是获取临时地址,而是创建一个新对象:
class A {
A(int len) {
if(len > 0) {
_a = new A(len-1);
}
else {
_a = NULL;
}
}
A* _a;
}