Я попытался объявляющего матрицу, и когда я компилирую, я получаю это:Предупреждение: расширенный списки инициализатора доступны только с -std = C++ 0x или -std = гну ++ 0x
extended initializer lists only available with -std=c++0x or -std=gnu++0x
И при попытке другой решение, которое я получаю это:
ISO C++ forbids variable length array 'A' (line 16)
Вот код моего последнего раза:
#include<iostream>
#include<cmath>
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{
int m, l;
ifstream MatrixA ("A.txt");
MatrixA >> m;
MatrixA >> l;
int A [m][l];
for (int lineA = 0; lineA <= m; lineA++)
{
for (int colA = 0; colA <= l; colA++)
{
A [lineA][colA];
}
}
cout << "Matrix A: " << A[m][l] << endl;
return 0;
}
могли бы вы предоставить флаги компилятора? – lrleon
, если вы хотите использовать функции C++ 11, вам нужно будет поместить один из следующих флагов в командной строке (в зависимости от вашей версии компилятора): '-std = C++ 0x' или' -std = c + + 11'. объявление массива c-style с переменными размерами действительно является незаконным в C++, как следует из правильной ошибки. –
, как указано в других комментариях, вы можете использовать переменные. Новая функция C++ 11 - это 'constexpr', которая вычисляется во время компиляции – KostasRim