[問題] Pass by ???
我有一個編譯的出來 可是執行會錯誤的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)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章