我是C ++的新手,并且遇到了有关嵌套结构的一些问题。
例如:我有这样的结构:并且我想为此结构声明一个指针。

struct person{
     int year;
     char name[20];
     bool available;
};

struct data{
      int list;
      person number;
};

int main(){
    data *ptr;
    data notptr[3];
    ptr = &notptr;
}


然后我编译它并收到如下消息:

cannot covert 'data(*)[3]' to 'data' in assignment
ptr = &notptr;
    ^


请帮我。我一直在用一个小时来弄清楚,但还是不知道为什么。

非常感谢你。

对于此程序,我正在尝试使用指针将文件读取到struct中。

最佳答案

您不能像ptr = &notptr那样进行赋值,因为&notptr是指向3个对象的指针,而ptr是指向单个对象的指针。

您只能通过这种方式ptr = &notptr[index];

关于c++ - 声明嵌套结构的指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35284766/

10-12 23:59