Re[2]: memcpy
От: SmileIlya  
Дата: 15.04.15 15:13
Оценка:
Здравствуйте, Igore, Вы писали:

I>Здравствуйте, SmileIlya, Вы писали:


SI>>Доброго всем дня.

SI>>Есть проблема, кусок кода ниже.
SI>>Суть проблемы в том, что при вызове memcpy приложение схлопывается, ругаясь на ошибку чтения.

SI>>
SI>>const void* pValue = (void*)vDouble.data();
SI>>size_t nBytes = sizeof(double) * vDouble.size();
SI>>size_t    nValueBytes = 0;
SI>>void*    pValuePoint = NULL;

SI>>if(vDouble.empty())
SI>>    return NULL;

SI>>if(!pValuePoint)
SI>>    pValuePoint = malloc(nBytes);
SI>>else //Это часть выкинуть таких условий не возникает
SI>>    if(nValueBytes != nBytes)
SI>>        pValuePoint = realloc(pValuePoint, nBytes);

SI>>if(!pValuePoint)
SI>>    return NULL;

SI>>nValueBytes = nBytes;
SI>>memcpy(pValuePoint, pValue, nValueBytes); // проблема тут
SI>>

I>Попробуй с моими исправлениями, но я бы это все просто переписал и не мучился, ведь то что ты привел это.
I>
I>auto pValuePoint = vDouble;
I>


Копирование проходит успешно, теперь другая проблема как из всего этого счастья получать опять полноценный вектор?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.