У меня есть массив типа T, который я передаю в качестве параметра-указателя функции.Проблема в том, что я не могу правильно записать новые данные в этот массив, не получая нарушения памяти со второй попытки.
В этом коде я читаю целые числа из текстового файла и передаю их функции (частьшаблон класса типа 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;
}