我在创建Employee(struct)用户定义类型的变量时遇到问题。错误说不允许这样的struct类型的成员。
struct Employee{
char name[100];
char address[100];
}emp[3];
int main(){
char ch;
int i=-1;
fstream in;
in.open("Muhammad.txt",ios::out|ios::binary|ios::ate);
do{
i++;
cout<<"\nEnter name:";cin.getline(emp.name[i],100);//error line
cout<<"\nEnter address:";cin.getline(emp.address[i],100);//error line
in.write( reinterpret_cast<char*>(&emp[i]),sizeof(Employee));
}while(ch=='y'||ch=='Y');
system("PAUSE");
return 0;
}
最佳答案
您声明了一个由struct Employee
类型的三个元素组成的数组。
这个建筑
struct Employee{
char name[100];
char address[100];
}emp[3];
struct Employee{
char name[100];
char address[100];
};
Employee emp[3];
name
和address
。getline(emp[i].name,100)
ch
尚未初始化,并且在循环中未更改。
https://stackoverflow.com/questions/57057644/