我有一个名为Object的结构定义为:
struct Object
{
char name[20];
char description[50];
};
我还有另一个名为Room的结构定义为:
struct Room
{
int number;
char description[50];
struct Object objects[10];
};
然后我初始化一个Room数组并尝试更改一个房间中对象的名称:
void main()
{
struct Room rooms[1][1];
rooms[0][0].objects[0].name = "Cabinet";
}
我遇到的问题是visual studio给了我这些错误:
rooms[0][0].objects[0].name = "cabinet";
Error1:
expression must be a modifiable lvalue
Error2:
'=': left operand must be l-value
我正在使用visual studio 2015社区版的C ++编译器来编译和运行C代码。
我不确定我在C中尝试做什么是可能的,我的想法是我有4个房间,每个房间有11个对象,每个对象都有一个名字和描述。
将bin粘贴到完整代码http://pastebin.com/jQJekLk9
答案 0 :(得分:2)
您不能对字符串使用简单赋值。您需要使用strcpy
。
strcpy(rooms[0][0].objects[0].name, "Cabinet");