创建具有可变
问题描述:
阵列我有以下代码:创建具有可变
#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:预期常量表达式
好的,我如何可以创建矩阵像没有向量或动态分配数组的代码中所示?
答
作为错误说,需要常量表达式定义阵列/矩阵大小;在这个例子中,使整数const
,它会编译。如果你不想动态分配数组或向量,那么你必须事先知道确切的数组大小。
答
数组创建时需要常量。在这段代码中,只是让你的结尾*变量const unsigned int
应该这样做。
他做加一:endx + 1 – hasan83 2014-12-02 00:48:09
是的,如果endx是类型'const的无符号int'然后'endx + 1'仍然是一个常数。它的作品...尝试它。 – 2014-12-02 00:49:15
战略downvote – 2014-12-02 01:01:46