Интерпретация ошибки valgrind Неверная запись размера 4

Недавно я пытался отследить некоторые ошибки в программе, над которой я работаю, используя valgrind, и одна из ошибок, которые я получил была:

==6866== Invalid write of size 4
==6866==    at 0x40C9E2: superneuron::read(_IO_FILE*) (superneuron.cc:414)

оскорбительная строка #414 считываний

amplitudes__[points_read] = 0x0;

и амплитуды __определена ранее как

uint32_t * amplitudes__ = (uint32_t* ) amplitudes;

Теперь очевидно, что uint32 _t имеет длину 4 байта, так что это размер записи, но может ли кто-нибудь скажи мне, почему это недействительно?

10
задан camelccc 7 May 2012 в 10:57
поделиться