如何在c ++中声明没有第一个大小的二维或多维数组?
class numeric
{
public:
int int_array_numbers[][];
...
};
错误讯息: 作为多维数组的'int_array_numbers'的声明必须具有除第一个之外的所有维度的边界
答案 0 :(得分:10)
你不能,C ++不支持VLA(可变长度数组)。
改为使用std::vector<std::vector<int> >
。
答案 1 :(得分:5)
您可以从两个参数声明您的类作为模板 像这样的东西
template <int N, int M>
class numeric
{
public:
int int_array_numbers[N][M];
...
};