我最近试图在我正在使用 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 个字节长,所以这是写入大小,但有人能告诉我为什么它无效吗?