【发布时间】:2014-02-08 10:42:58
【问题描述】:
这个问题很简单,但我很困惑为什么结构的行为是这样的,因为它的所有成员默认都是public,看看下面的代码
struct Student
{
char name[20];
}
int main()
{
Student s;
s.name="ahmed";
}
此代码给出了一个错误,即名称应该是一个可修改的左值。
但是如果我通过char在循环char中赋值,那么它就像这样工作正常
s.name[0]='a';//works fine
【问题讨论】:
-
编译器已经给出了anwser。 “名称应该是一个可修改的左值”。
-
你应该查看 std::string 来存储名称,使用起来更容易。
-
Student a={"ahmed"}; s=a;效果更好,但这可能会让你更加困惑......