使用变量创建数组

时间:2014-12-02 00:45:33

标签: c++ arrays constant-expression

我有以下代码:

#include <iostream>

using namespace std;

int main()
{
   unsigned int endx = 5;
   unsigned int endy = 5;
   unsigned int endz = 5;

   int Matrix[endx+1][endy+1][endz+1] = {};

   return 0;
}

我得到了

  

错误C2057:预期的常量表达式

好的,如何在没有矢量或动态分配数组的代码中创建矩阵?

2 个答案:

答案 0 :(得分:2)

数组在创建时需要常量。在此代码中,只需创建结束*变量const unsigned int即可。

答案 1 :(得分:2)

如错误所示,您需要常量表达式来定义数组/矩阵大小;在该示例中,生成整数const并将进行编译。

const unsigned int endx = 5;
const unsigned int endy = 5;
const unsigned int endz = 5;

如果您不想要动态分配的数组或向量,那么您必须事先知道确切的数组大小。