作者xhoques (璋~)
看板C_and_CPP
标题[问题] Pass by ???
时间Fri Mar 13 17:39:27 2009
我有一个编译的出来 可是执行会错误的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)