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 に答える