[問題] 用const靜態陣列作為引數宣告靜態陣列

作者: viker (太太)   2014-04-14 15:01:50
開發平台(Platform): VC++ 2012
問題(Question):
宣告靜態陣列的引數必須要用常數,我這樣做應該可以編譯
但實際上卻出現Error
error C2057: 必須是常數運算式
error C2466: 無法配置常數大小為 0 的陣列,常數必須為大於 0 的整數
error C2087: 'test' : 遺漏註標
error C2133: 'test' : 未知的大小
程式碼(Code):
int main()
{
const int a[3] = {2,3,4};
double test[a[0]][a[1]][a[2]];
return 0;
}
補充說明(Supplement):
若將分成三行宣告,則編譯沒問題
const int a0 = 2;
const int a1 = 3;
const int a2 = 4;
作者: Feis (永遠睡不著 @@)   2014-04-14 19:20:00
需要新版的 constexpr 或者只好用建議不要用的 Macro / enum你還是用 vector 吧...
作者: TeaEEE (愛不趴 不愛趴)   2014-04-15 10:04:00
const int a[] = { 1, 2, 3};

Links booklink

Contact Us: admin [ a t ] ucptt.com