我有一個T類型的數組,它作爲指針參數傳遞給函數。 問題是,我無法正確地將新數據寫入此數組,而沒有在第二次嘗試中獲取內存違規。將自定義數組傳遞給函數的問題(C++)
在此代碼中,我從文本文件中讀取整數並將它們傳遞給函數(T類模板類的一部分),以便將它們附加到數組中。
當我完成追加整數後,我想在Main中使用相同的數組。
有人知道代碼有什麼問題嗎?
謝謝,最大
template<class T> int CFile<T>::read(T **apBuf, int aNum)
{
int readCounter = 0;
*apBuf = (T*)malloc(sizeof(T)*aNum);
for (int i = 0; i<aNum; i++)
{
T var = read();
if (var == NULL)
{
if (isEof)
{
return readCounter;
}
else
{
perror ("Error Reading File - Insufficient var type");
return -1;
}
}
else
{
*apBuf[i] = var;
readCounter++;
}
}
return readCounter;
}
你可以多加一點這個問題嗎?究竟在哪裏,它失敗了?什麼'read()'(沒有參數)呢? – 2011-06-03 20:06:34
無參數read()從文本文件中讀取T成員,一次一個。 我的問題已解決,謝謝。 – max12345 2011-06-03 20:19:51