В данном коде компилятор выдает следующую ошибку:
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];
Сборка персонального компьютера от Artline: умный выбор для современных пользователей