Неправильное присвоение массива в c++

103
20 июня 2019, 07:40

У меня есть следующий код:

struct figure_map {
bool rotation0[4][4];
bool rotation1[4][4];
bool rotation2[4][4];
bool rotation3[4][4];};
figure_map figure;`
figure.rotation1 = { {0,1,0,0},
                     {0,1,0,0},
                     {0,1,0,0},
                     {0,1,0,0}};

Компилятор ругается E2188 Expression syntax. Что не так?

Answer 1

Запись с фигурными скобками вроде int array[3] = {1,2,3} работает только при инициализации массива.

То есть вот так делать можно:

int array[3] = {1,2,3};

А вот так нельзя:

int array[3];
array = {1,2,3};

У вас есть несколько вариантов.

Можно менять элементы по одному:

int array[3];
array[0] = 1;
array[1] = 2;
array[2] = 3;

Можно поместить массив в класс/структуру:

struct Array {int data[3];};
Array array;
array = {1,2,3};

Можно использовать std::array:

std::array<int,3> array;
array = {1,2,3};
READ ALSO
Добавить строку в QTableWidget если ее еще нет

Добавить строку в QTableWidget если ее еще нет

Моя программа должна постепенно выводить результаты вычислений в ячейки таблицыЕсть окно (реализовано как объект класса Widget, наследованного...

139
Подготовка Qt Creator к работе с OpenNI

Подготовка Qt Creator к работе с OpenNI

Мне нужна ваша, сообщество помощь в настройке Qt Creator для написания программы, которая будет работать с фреймворком OpenNI (https://structureio/openni)

132
Где сейчас активно используется с++? [закрыт]

Где сейчас активно используется с++? [закрыт]

Изучив основные структуры данных и базовые алгоритмы и испытав их на практике, столкнулся с проблемой - куда двигаться дальшеХочется узнать...

105
Не считывает .txt c++ [закрыт]

Не считывает .txt c++ [закрыт]

C++17 - VisualStudio 2017 Хотел написать свою программу, чтобы попрактиковатьсяСуть программы в том, чтобы взять имена файлов в папке(через регулярку),...

106