c++ - 让一个对象包含另一个相同类型的对象?

标签 c++ pointers

我想创建一个包含相同类型对象的对象。当您创建这种类型的对象时,它会创建另一个对象,然后再创建另一个对象,依此类推,直到长度用完。但是,我得到了临时警告的地址。我该如何解决这个问题?

class A {
   A(int len) {
      if(len > 0) {
         _a = & A(len-1);
      }
      else {
         _a = NULL;
      }
   }

   A* _a;
}

最佳答案

与其获取临时地址,不如创建一个新对象:

class A {
   A(int len) {
      if(len > 0) {
         _a = new A(len-1);
      }
      else {
         _a = NULL;
      }
   }

   A* _a;
}

关于c++ - 让一个对象包含另一个相同类型的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130730/

相关文章:

c - 为什么++(*p) 没有给出 l-value required 错误?

c++ - 表达式必须是二维数组的可修改左值

在 C 中更改线程中的变量

将 char 数组复制到 C 中的 char*

c++ - 指针 - 在 C++ 中返回本地引用

c++ - C++派生类构造函数后调用基类构造函数

c - 在 C 中使用 event_new() 函数的 Event.h 库

c++ - C++ 中的#include 问题

c++ - 动态链接

c++ - 没有大于 k 的质因数的正数