const的問題 |
尚未結案
|
黑輪
中階會員 發表:135 回覆:188 積分:64 註冊:2004-01-29 發送簡訊給我 |
|
lu
高階會員 發表:11 回覆:189 積分:195 註冊:2003-11-19 發送簡訊給我 |
|
Royce520
高階會員 發表:18 回覆:157 積分:100 註冊:2002-09-13 發送簡訊給我 |
黑輪你好,
你這樣做
變數int i=0,隨著迴圈會一直加一(i ),迴圈跑完後,把i值令給const
int N=i,再用N來定陣列的大小int p[N]={0} 當然有問題!
錯在 一般陣列宣告下的個數指定值必須是 常數值
這個數值在編譯前段時期 就必須是已知的,不會變動的...
所以你後來指定了 N=i 這是沒有問題的動作... 但是 他在編譯
階段的值 並不被視為常數... 所以編譯器給你一個那樣的錯誤 這就是"為什麼"... 所以你是沒辦法用這個方式來達成你所想 所以你可以使用動態配置的方式 來達成你想要的功能... 怎麼做
可以參照 lu 的方法 或搜尋網站 很容易可以查到的 發表人 - royce520 於 2004/04/09 00:13:18
------
不要忘記呼吸,不要忘記編程! ∩__∩ |
黑輪
中階會員 發表:135 回覆:188 積分:64 註冊:2004-01-29 發送簡訊給我 |
|
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
引言: lu 兄弟,我不太了解你的程式,不知道要如何試~可以請你再說明一下嗎?呵呵~~~ 黑輪,lu 是回應你最初的問題呀~~ 您問"我在程式中有一個變數int i=0,隨著迴圈會一直加一(i ),迴圈跑完後,把i值令給const int N=i,再用N來定陣列的大小(int p[N]={0})",lu就依照您的問題給答: 我在程式中有一個變數int i=0,隨著迴圈會一直加一(i ) int i,*p; for (i=0;i<300;i ) { //Do smoe thing } 迴圈跑完後,把i值令給const int N=i,再用N來定陣列的大小(int p[N]={0}) p = new int [i]; //do some thing delete [] p;[亂入] 溝通是一種編解碼的藝術,只是有時候會解碼失敗 -- 雞同鴨講。 (這種狀況我常發生,嚴重的話會當機(呆掉)。) > ------------------------------- 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖 |
lu
高階會員 發表:11 回覆:189 積分:195 註冊:2003-11-19 發送簡訊給我 |
|
黑輪
中階會員 發表:135 回覆:188 積分:64 註冊:2004-01-29 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |