Создание массива с переменной

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

#include <iostream>

using namespace std;

int main()
{
unsigned int endx = 5;
unsigned int endy = 5;
unsigned int endz = 5;

int Matrix[endx+1][endy+1][endz+1] = {};

return 0;
}

я получил

ошибка C2057: ожидаемое постоянное выражение

Хорошо, как я могу создать Матрицу, как показано в коде, без векторов или динамически распределенного массива?

1

Решение

Как говорится в ошибке, вам нужны константные выражения для определения размеров массива / матрицы; в этом примере, сделать целые числа const и это скомпилируется.

const unsigned int endx = 5;
const unsigned int endy = 5;
const unsigned int endz = 5;

Если вам не нужны динамически распределяемые массивы или векторы, вам нужно заранее знать точный размер массива.

2

Другие решения

Массивы требуют констант при их создании. В этом коде просто сделать ваши переменные конца * const unsigned int должен сделать это.

2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector