我尝试声明一个矩阵,当我编译时,我得到了这个:
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;
}
答案 0 :(得分:5)
C ++不支持可变大小的内置数组。如果您需要可变大小的数组维度,则需要使用能够动态执行必要内存分配的内容。一个相对直接的选择是使用std::vector
std::vector
s:
std::vector<std::vector<int> > A(m, std::vector<int>(l));