Код: Выделить всё
int num1[3] = {1,2,3};
int num2[3];
num2 = num1; // "error: invalid array assignment"
< /code>
Я только что принял это как факт, считая, что целью языка является предоставление открытой структуры, и позволяет пользователю решать, как реализовать что-то, такое как копирование массива.struct myStruct { int num[3]; };
struct myStruct struct1 = {{1,2,3}};
struct myStruct struct2;
struct2 = struct1;
Почему в отношении членов присвоение массивов, поддерживаемого для структуров, но не в целом? Комментарий в потоке std :: string in struct - copy/assing. Проблемы? Похоже, указывает в общем направлении ответа, но я не знаю достаточно, чтобы подтвердить это сам. Я выбираю Лютер Блиссетт , потому что я в основном задавался вопросом о философском или историческом обосновании, стоящем за поведением, но Джеймс Макнеллис на связанную спецификацию также была полезна.
Подробнее здесь: https://stackoverflow.com/questions/343 ... ts-but-not
Мобильная версия