全域變數的問題
如下
int x=1,y=1,z=z;
int v=x*y*z;
double total[v];
void main(){
}
上述的 xyz 我會做改變
compiler後
關於 v 出現 "initializer element is not constant"
total[v] 出現 "variable-size type declared outside of any function"
我將 v 給一個常數 才可以過 total[v]則不行
兩邊的v 要都給一個常數 才都過
我以為全域跟區域變數一樣 有宣告 可以間接給數值(如上)
請問是兩著差在哪裡? 還是我哪個觀念錯?
因為我需要他們是外部變數 (我是寫成專案的方式) 所以把它們寫成全域函數
而我希望 v 是隨我想要 xyz 變
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.120.96
※ 編輯: scws 來自: 140.115.120.96 (04/20 15:34)
推
04/20 16:00, , 1F
04/20 16:00, 1F
→
04/20 16:04, , 2F
04/20 16:04, 2F
→
04/20 16:22, , 3F
04/20 16:22, 3F
推
04/20 18:30, , 4F
04/20 18:30, 4F
→
04/20 18:31, , 5F
04/20 18:31, 5F
推
04/20 23:45, , 6F
04/20 23:45, 6F
→
04/20 23:47, , 7F
04/20 23:47, 7F
→
04/20 23:47, , 8F
04/20 23:47, 8F
→
04/20 23:55, , 9F
04/20 23:55, 9F
→
04/20 23:57, , 10F
04/20 23:57, 10F
討論串 (同標題文章)