c++ - 结构数组似乎不想工作

标签 c++ arrays struct

我有这个类和结构,数组上的每个结构都连接到另一个结构(数组每个元素上的链表结构).. 顺便说一句,这只是我的代码示例,假设没有其他错误..

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/

相关文章:

c++ - 在 std::find 方法中比较类对象

c++ - 在 OpenCV 2.4.2 中从 CIF 视频中读取帧

php - 简化从mysql数据库取数据的代码

c - header 中定义的 TypeDef 结构

c# - 结构总是堆栈分配还是有时堆分配?

c++ - OpenGL,如何旋转彼此独立的对象?

c++ - std::vector 和内存分配

arrays - 在转换为数组的文本列上创建 postgresql 索引

c - 将字符串和字符存储在二维数组中 (C)

c - 使用结构体对函数中的参数进行错误转换