我有一个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