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