[問題] Pass by ???

看板C_and_CPP (C/C++)作者 (璋~)時間16年前 (2009/03/13 17:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我有一個編譯的出來 可是執行會錯誤的function 經驗上好像這種狀況都是因為pointer沒傳好 抓到不該抓的值才會發生? function 的 parameter list 是: void waehler(char o[], .... ) 傳入是這樣 waehler((*proc+choice), .... ); 其中proc在定義的時候是char** 而在初始的時候是像這樣: void inizer(ifstream* input) /*中略*/ proc = new char*[noC+noNIC]; for(int i = 0; i< N; i++) { counter = -1; do //copy into buffer { counter++; *input>>buffer[counter]; }while(buffer[counter] != 'q'); //each proc end in 'q' proc[i] = new char[counter+1]; //from buffer to process for(int j = 0; j <= counter; j++) proc[i][j] = buffer[j]; } 至於在 ifstream input 的那個檔案裡 proc大概長這樣: =aaq =a-anq =a-ae3tc0q =a+ae3tc1q 我想知道一個char**這樣的東西 有沒有辦法當成一維的array傳進去這樣 還是說我勢必要記錄每個proc的長度? 還是有人建議我用string? ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59 ※ 編輯: xhoques 來自: 140.112.7.59 (03/13 17:42) ※ 編輯: xhoques 來自: 140.112.7.59 (03/13 18:15)
文章代碼(AID): #19kYdKtL (C_and_CPP)
文章代碼(AID): #19kYdKtL (C_and_CPP)