Я объявляю трехмерный массив как член класса, используя stati c const членов класса в качестве первых двух границ:
class A
{
static const uint8_t screenWidth = 256;
static const uint8_t screenHeight = 240;
uint8_t buffer[screenHeight][screenWidth ][3];
}
в Visual Studio 2019 я получаю следующее (странно ?) ошибка:
Error (active) E0098 an array may not have elements of this type
если я прибегну к "хаку перечисления", чтобы объявить целочисленные константы времени компиляции класса, это работает:
class A
{
enum { SH = 240, SW = 256};
uint8_t buffer[SH][SW][3];
}
не должно быть первым пример быть C ++ 11-совместимым кодом? (Я думаю, компилятор Visual Studio 2019 есть.)