看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 問題(Question): class AAA{ public: int a=2; int b=a+1; int c[a]; }; 餵入的資料(Input): 預期的正確結果(Expected Output): 應該可以正確宣告 一塊大小是2個int的記憶體給陣列C阿? 錯誤結果(Wrong Output): 但gcc 在 int c[a]這行報錯 改成int c[AAA::a] 也一樣 改成int c[2]就ok 就是invalid use of not-static member data 有點白癡的問題 懇請板上先進指教! 感謝! -- CyberPanel 5000CP 換 NT.500 http://myurl.com.tw/05bd EmailCash 5000e 換 NT.500 http://myurl.com.tw/rgdq -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.5.200 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1415536993.A.73E.html ※ 編輯: nikeasyanzi (114.34.5.200), 11/09/2014 20:44:19
bibo9901: 陣列大小只能是常數 11/09 20:44
kwpn: 加const 11/09 20:44
GoIt: 動態宣告? 把a改成const 11/09 20:45
nikeasyanzi: 一樓 一言驚醒夢中人~ 應該是怕var被改掉 11/09 20:48
nikeasyanzi: 但a加const 或c array加const 都沒用 只能動態了 11/09 20:56
dirkc: static int const a=2; 11/09 21:02
LPH66: C++11 的 constexpr 出現要解決的問題之一就是這個 11/09 21:26
LPH66: 不過這裡由於 a 為非 static 成員所以不能加 constexpr 11/09 21:29
LPH66: 真要加的話就要連 static 一起加上去才行 11/09 21:29
Push5F: #define a = 2; 11/10 01:17
Push5F: 拿到外面去就是了= = 11/10 01:17
Push5F: 要動態就...實作個method.. 11/10 01:18
yoco: 沒想到版上也有人用 C++14 了,感動 11/10 02:29
carylorrk: yoco 大的公司 codebase migrate 的真快 11/10 03:37