В данном коде компилятор выдает следующую ошибку:
error: expected unqualified-id before ‘[’ token typedef int[CUBE_DIMENSION][CUBE_DIMENSION] Side;
error: ‘Side’ does not name a type typedef Side[NUM_SIDES] Cube;
error: expected unqualified-id before ‘[’ token typedef int[CUBE_DIMENSION] Row, Column;
Может кто-нибудь подсказать, что означает unqualified-id или чем вызвана данная ошибка?
...
#define CUBE_DIMENSION 3
#define NUM_SIDES 6
typedef int[CUBE_DIMENSION][CUBE_DIMENSION] Side;
typedef Side[NUM_SIDES] Cube;
typedef int[CUBE_DIMENSION] Row, Column;
...
Вот здесь https://stackoverflow.com/questions/4523497/typedef-fixed-length-array люди подсказывают, что массивы нужно определять наизнанку
typedef int Side[CUBE_DIMENSION][CUBE_DIMENSION];
typedef
, грубо говоря, работает как объявление переменной - только вместо переменной - тип.
Например, как выглядит объявление двумерного массива 10x10?
int array[10][10];
Значит, для определения типа двумерного массива 10x10 надо дописать typedef
:
typedef int array[10][10];
Другое дело в C++ using
- тут и в самом деле немного не так:
using array = int[10][10];
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Понятно, что изменение смысла auto от одного стандарта к другому приводит к возможности ошибки, или, наоборот, ошибочный из-за >> в шаблоне...
Дано два файла, нужно переписать содержимое одного в другойПри этом надо переписывать по 1024 байта
Есть класс, который хранит в себе двумерный массив QVector(Аналог std::vector в Qt)