我是c ++的新手,我遇到过嵌套struct的一些问题。 例如:我有这样的结构:我想声明这个结构的指针。
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。
答案 0 :(得分:1)
您无法执行ptr = ¬ptr
之类的分配,因为¬ptr
是指向3个对象的指针,而ptr
是指向单个对象的指针。
你只能这样做ptr = ¬ptr[index];