Gần đây tôi đã cố gắng để theo dõi một số lỗi trong một chương trình tôi đang làm việc về việc sử dụng valgrind, và một trong những lỗi tôi nhận được:Giải thích lỗi valgrind viết không hợp lệ kích thước 4
==6866== Invalid write of size 4
==6866== at 0x40C9E2: superneuron::read(_IO_FILE*) (superneuron.cc:414)
dòng vi phạm # 414 lần đọc
amplitudes__[points_read] = 0x0;
và amplitudes__ được định nghĩa trước như
uint32_t * amplitudes__ = (uint32_t*) amplitudes;
Bây giờ rõ ràng là một uint32 _t dài 4 byte, vì vậy đây là kích thước ghi, nhưng ai đó có thể cho tôi biết tại sao nó không hợp lệ?