3

我仍然很困惑。我可以这样做吗?

int x[y[3]]

数组中的数组?

那是正确的格式吗?

谢谢!

4

3 回答 3

6

int x[y[3]];如果y[3]是整数常量表达式,则有效,它将声明一个y[3]元素数组。否则无效。


如果您正在寻找二维数组,请尝试以下操作:

#include <array>
std::array<std::array<int, 3>, 4> x;

如果您想减轻痛苦,可以按照 Cat Plus Plus 的建议查看Boost.MultiArray 。

于 2012-12-13T21:57:56.303 回答
0

即使假设y[3]是整数类型(否则没有意义),C++ 不支持 VLA(可变长度数组)。它们是 C99 的一部分,但不是 c++。因此,您的代码不好。

一些编译器确实支持 VLA,但仅作为扩展。

于 2012-12-13T22:57:47.743 回答
-6

会是这样的

int[,] myArray = new int[1][2];
myArray[0][1] = 1;
myArray[1][1] = 1;
于 2012-12-13T21:49:35.057 回答