全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:769
推到 Plurk!
推到 Facebook!

const的問題

尚未結案
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-08 17:53:47 IP:140.124.xxx.xxx 未訂閱
我在程式中有一個變數int i=0,隨著迴圈會一直加一(i ),迴圈跑完後,把i值令給const int N=i,再用N來定陣列的大小(int p[N]={0}),可是有錯誤說[C Error] Unit1.cpp(1321): E2313 Constant expression required 為什麼? 就是說我有一個一維陣列,其大小想要由之前迴圈跑完的變數來決定,可以嗎?
lu
高階會員


發表:11
回覆:189
積分:195
註冊:2003-11-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-08 18:18:36 IP:210.68.xxx.xxx 未訂閱
 
試試看這樣吧
 
int i,*p;
for (i=0;i<300;i  )
  {
    //Do smoe thing
  }
p = new int [i];
//do some thing
delete [] p;
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-09 00:09:00 IP:61.230.xxx.xxx 未訂閱
黑輪你好, 你這樣做 變數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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-10 11:33:12 IP:140.124.xxx.xxx 未訂閱
Royce520 兄弟,你說的我明白了~感謝你的說明哦~~ lu 兄弟,我不太了解你的程式,不知道要如何試~可以請你再說明一下嗎? 感謝大家的熱心幫忙哦~
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-13 11:49:54 IP:218.32.xxx.xxx 未訂閱
引言: 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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-13 13:30:52 IP:210.68.xxx.xxx 未訂閱
呵呵~~謝謝anpino的解說 好幾天沒上來了,沒看到 黑輪 的回應,SORRY嘿 ^^"
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-04-22 07:50:46 IP:140.124.xxx.xxx 未訂閱
了解~~感謝lu兄的幫忙~與anpino兄弟的解說哦~~
系統時間:2024-07-04 12:51:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!