1

如何在 C++ 中声明一个没有第一个大小的二维或多维数组?

class numeric 
{
    public:
    int int_array_numbers[][];
    ...
};

错误消息:将“int_array_numbers”声明为多维数组必须具有除第一个维度之外的所有维度的边界

4

2 回答 2

11

你不能,C++ 不支持 VLA(可变长度数组)。

改用 a std::vector<std::vector<int> >

于 2012-06-25T08:32:04.543 回答
5

您可以从两个参数中将您的类声明为模板,如下所示

template <int N, int M>
class numeric 
{
public:
     int int_array_numbers[N][M];
...
};
于 2012-06-25T08:35:11.950 回答