看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《ericrobin ()》之銘言: : 首先是 array 的設定, 我希望能依照餵入的值來決定大小: : int n, m; : scanf("%d\n", &n); : scanf("%d\n", &m); : int p = m * m; : int a[n][m][m]; : int b[p]; : int result[n]; : VC++ 在後三式會顯示錯誤 "運算式必須要有常數值" : 想請問要做到我需求的話該如何寫才好? 可能是 scanf 那裡出了問題,把 "\n" 拿掉再跑跑看 試了一下,可參考跑得動的例子 https://pastebin.com/5dapQUE4 $ g++ -o array_size array_size.cpp -std=c++14 $ ./array_size Input n: 3 55 69 23 # numbers are randomly assigned 不過我記得 array 的長度不能用變數,但是跟這裡範例不符 再請各位大大講一下是怎麼回事好了 : 這幾天研究g++好久還是不知道怎用 走投無路才裝了龐大的VS..結果還是沒很順囧 g++ 應該沒那麼難用才是 雖然參數很多,但基本的編譯步驟很簡單的 可能還是要看一下實際的錯誤訊息才知道是怎麼回事 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.1 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1457489319.A.579.html
crazycy: C++標準是說不行 可是G++有支援 03/09 10:19
ericrobin: 謝謝 scanf那邊確實多了\n 03/09 10:35
ericrobin: 將array 修改成常數也順利能跑出來 03/09 10:41
ericrobin: 不過另一個問題是我設定到 int a[10][180][180] 03/09 10:44
ericrobin: 這樣的大小 exe馬上就會說停止運作 03/09 10:45
ericrobin: 很納悶它上限有那麼低嗎.... 03/09 10:46
petercoin: 這個大小要用malloc配置記憶體 03/09 11:23
ericrobin: 照樓上方法做問題就解決了XD 03/09 12:02
petercoin: 我記得是stack size的限制啦 03/09 13:42