2014-12-02 213 views
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:預期常量表達式

好的,我如何可以創建矩陣像沒有向量或動態分配數組的代碼中所示?

回答

2

作爲錯誤說,需要常量表達式定義陣列/矩陣大小;在這個例子中,使整數const,它會編譯。如果你不想動態分配數組或向量,那麼你必須事先知道確切的數組大小。

2

數組創建時需要常量。在這段代碼中,只是讓你的結尾*變量const unsigned int應該這樣做。

+0

他做加一:endx + 1 – hasan83 2014-12-02 00:48:09

+0

是的,如果endx是類型'const的無符號int'然後'endx + 1'仍然是一個常數。它的作品...嘗試它。 – 2014-12-02 00:49:15

+1

戰略downvote – 2014-12-02 01:01:46