Я хочу объявить многомерный (в его случае двумерный) массив. Я не могу объявить размер глобального массива. С одной размерностью, все работает:C++ многомерный массив указателей без объявления
#include <iostream>
#include <fstream>
using namespace std;
int N, M;
bool *table;
int main()
{
ifstream in ("in.txt");
in >> N >> M;
table = new bool[N];
return 0;
}
Но если я хочу, чтобы объявить двумерный массив, я получаю сообщение об ошибке: «M» не может появиться в постоянной экспрессии
#include <iostream>
#include <fstream>
using namespace std;
int N, M;
bool **table;
int main()
{
ifstream in ("in.txt");
in >> N >> M;
table = new bool[N][M];
return 0;
}
Каков мой вариант, помимо объявления числа вместо N и M, создания векторного массива или объявления таблицы в основной функции?
Почему бы вам просто не использовать 'std :: vector', а не беспокоиться об этом? – Barmar