Recentemente sono stato cercando di rintracciare alcuni bug in un programma di cui sto lavorando con valgrind, e uno degli errori ho ottenuto è stato:Interpretare errore valgrind scrittura non valido di dimensioni 4
==6866== Invalid write of size 4
==6866== at 0x40C9E2: superneuron::read(_IO_FILE*) (superneuron.cc:414)
la linea incriminata # 414 letture
amplitudes__[points_read] = 0x0;
e amplitudes__ è definito in precedenza come
uint32_t * amplitudes__ = (uint32_t*) amplitudes;
Ora, ovviamente, un uint32 _t è lungo 4 byte, quindi questa è la dimensione della scrittura, ma qualcuno potrebbe dirmi perché non è valido?