1

我有以下代码:

#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:预期的常量表达式

好的,如何在没有向量或动态分配数组的情况下创建代码中所示的矩阵?

4

2 回答 2

2

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

于 2014-12-02T00:47:22.930 回答
2

正如错误所说,您需要常量表达式来定义数组/矩阵大小;在那个例子中,制作整数const,它会编译。

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

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

于 2014-12-02T00:49:06.100 回答