我是C ++的新手,并且遇到了有关嵌套结构的一些问题。
例如:我有这样的结构:并且我想为此结构声明一个指针。
struct person{
int year;
char name[20];
bool available;
};
struct data{
int list;
person number;
};
int main(){
data *ptr;
data notptr[3];
ptr = ¬ptr;
}
然后我编译它并收到如下消息:
cannot covert 'data(*)[3]' to 'data' in assignment
ptr = ¬ptr;
^
请帮我。我一直在用一个小时来弄清楚,但还是不知道为什么。
非常感谢你。
对于此程序,我正在尝试使用指针将文件读取到struct中。
最佳答案
您不能像ptr = ¬ptr
那样进行赋值,因为¬ptr
是指向3个对象的指针,而ptr
是指向单个对象的指针。
您只能通过这种方式ptr = ¬ptr[index];
关于c++ - 声明嵌套结构的指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35284766/