memcpy
От: SmileIlya  
Дата: 15.04.15 14:19
Оценка: -3 :)
Доброго всем дня.
Есть проблема, кусок кода ниже.
Суть проблемы в том, что при вызове memcpy приложение схлопывается, ругаясь на ошибку чтения.

Необработанное исключение в "0x5cddc9c7 (msvcr100d.dll)" в "Test.exe": 0xC0000005: Нарушение прав доступа при чтении "0x115d0000".

std::vector<double> vDouble;
for (UINT i = 0; i < 1000; i++)
{
  double dID = i;
  vDouble.push_back(dID );
}

const void* pValue = &vDouble;

size_t nBytes = sizeof(vector<void*>) + (sizeof(void*) * (static_cast<vector<void*> const*>( pValue ))->size());
size_t    nValueBytes = 0;
void*    pValuePoint = NULL;

if(!pValue || !nBytes)
    return NULL;

if(!pValuePoint)
    pValuePoint = malloc(nBytes);
else
    if(nValueBytes != nBytes)
        pValuePoint = realloc(pValuePoint, nBytes);

if(!pValuePoint)
    return NULL;

nValueBytes = nBytes;
memcpy(pValuePoint, pValue, nValueBytes); // проблема тут
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.