【发布时间】:2018-11-13 08:51:40
【问题描述】:
我试图通过在我的另一个类中定义这个类的指针来创建一个类的动态数组,然后当我创建第二个类的复制构造函数时,IDE 告诉我指针类型是不兼容
class myClass2 {
private:
int *size;
string name;
myClass1 *list;
...
public:
myClass2(const char &name,const int size);
...
};
myClass2::myClass2(const char &name,const int size){
...
this->size = new int(size);
myClass1 * pArray[size];
for(int i = 0; i < size; i++){
pArray[i] = new myClass1();
}
list = pArray; //FIXME:incompatible pointer type
};
【问题讨论】:
-
list 是 myClass1* 类型,pArray 是 myClass2** 类型。您想在这里实现什么目标?
-
连同上面的评论,你为什么在这里把 size 当作动态成员? this->size = new int(size); 希望这个 myClass2 * pArray[size]; 是一个错字。
-
这个
for(int i = 0; i> size; i++)没有意义,或许你应该先从一本好的C++书入手。 -
@JeJo 是的,我修好了
-
为什么? @KillzoneKid