Нарушение доступа к памяти VC++
Я получаю нарушение доступа к памяти, которое я не могу выяснить. Я предполагаю, что мой синтаксис может быть где-то неправильно. Вот мой код
load(double **pDouble)
{
int size;
//pStruct is returned by a method of some object inside load
// arr is an array of double, also member of struct pointed by pStruct.
size = sizeof(pStruct->arr)/sizeof(double);
*pDouble = new double[size];
for(int i = 0 ; i < size; i++)
{
*pDouble[i] = pStruct->arr[i];
//the violation occurs for the second iteration of
// the loop
}
}
Что может быть причиной нарушения доступа?
1 ответ
Решение
Индексирование массива связывается более тесно, чем разыменование указателя. Вы, вероятно, имели в виду:
(*pDouble)[i] = pStruct->arr[i];
Могут быть и другие ошибки.