我仍然很困惑。我可以这样做吗?
int x[y[3]]
数组中的数组?
那是正确的格式吗?
谢谢!
int x[y[3]];
如果y[3]
是整数常量表达式,则有效,它将声明一个y[3]
元素数组。否则无效。
如果您正在寻找二维数组,请尝试以下操作:
#include <array>
std::array<std::array<int, 3>, 4> x;
如果您想减轻痛苦,可以按照 Cat Plus Plus 的建议查看Boost.MultiArray 。
即使假设y[3]
是整数类型(否则没有意义),C++ 不支持 VLA(可变长度数组)。它们是 C99 的一部分,但不是 c++。因此,您的代码不好。
一些编译器确实支持 VLA,但仅作为扩展。
会是这样的
int[,] myArray = new int[1][2];
myArray[0][1] = 1;
myArray[1][1] = 1;