Я структура под названием объект определяется как:Доступ к члену структуры в массиве структур, который является членом массива различных структур
struct Object
{
char name[20];
char description[50];
};
Я также другая структура называется номер определяется как:
struct Room
{
int number;
char description[50];
struct Object objects[10];
};
Я тогда инициализируем массив номер и попытаться изменить имя объекта в комнате:
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 Community Edition в C++ компилятор для компиляции и запуска кода C.
Я не уверен, что то, что я пытаюсь сделать, возможно в C, идея состоит в том, что у меня есть 4 комнаты, каждая комната имеет 11 объектов, и каждый объект может иметь имя и описание.
Вставить бен полный код http://pastebin.com/jQJekLk9
Точнее, вы не можете использовать простое назначение с * массивами *, включая массивы 'char'. Вы * можете * использовать его со строками в смысле указателей на 'char', хотя вам нужно понять, что это значит, когда вы это делаете. –
Большое вам спасибо, я пытался выяснить, что я сделал неправильно в течение пары часов, я не могу поверить, что забыл, что мне пришлось использовать strcpy, хотя я использовал его буквально в строке выше в моем полном коде , – SBlower