一个非常容易的问题,但我无法解决它。 我在这里
struct Person{
char name[20];
char family[20];
char tel[20];
};
Person p[40];
string newName
和
p[ numPerson ].name = newName;
我想编写一个函数,在其中我可以用newName替换p [numPerson] .name但是出现错误!:IntelliSense:expression必须是可修改的左值 希望有人可以帮忙!
答案 0 :(得分:0)
char name[20];
string newName
这两者都是不同的物种。而且你知道不同的物种很容易混在一起。
更好的方法是全部使用std :: string。
答案 1 :(得分:0)
您可以通过以下方法解决此问题 1.
struct Person{
char name[20];
char family[20];
char tel[20];
}Person p[40];
char newName[20];
strcpy(p[numPerson].name,newName);
2。
注意:如果您想更改family,tel e.t.c值,那么也要创建它们的数据类型字符串。
struct Person{
string name;
char family[20];
char tel[20];
}Person p[40];
string newName;
p[numPerson].name = newName;