我有这个类和结构,数组上的每个结构都连接到另一个结构(数组每个元素上的链表结构).. 顺便说一句,这只是我的代码示例,假设没有其他错误..
class DATA;
class myclass
{
public:
myclass();
mystruct* addDATA(DATA *d);
private:
mystruct* array;
};
struct mystruct
{
DATA * data;
mystruct * next ;
};
在构造函数中我正在尝试这个
mystruct::mystruct()
{
mystruct* array = new mystruct[10];
for(int i = 0; i < 10; i++)
array[i] = NULL;
}
这给出了一个意外的(至少对我来说)错误,这个错误是不是有点荒谬,我正在制作指向 NULL 的指针。
no match for ‘operator=’ in ‘*(array + ((unsigned int)(((unsigned int)i) * 8u))) = 0’
还有当我尝试时;
while(this->array[i] != NULL){
// do some arrangements on the array..
}
这也给出了同样的错误.. 为什么匹配指向 NULL 的指针会给出此错误,或者检查它是否为 NULL.. 从今天早上开始苦苦挣扎,找不到 **荷兰国际集团解决方案:/ 数组的类型是“mystruct”但没有别的,这是一个问题吗?或者 array[i] 不是指针之类的?
最佳答案
不,您不是在创建指针数组,而是在创建结构数组。 array
的每个元素都是 mystruct
而不是 mystruct*
。将 mystruct
设置为 null 没有任何意义。
关于c++ - 结构数组似乎不想工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13131267/