Alokuje dynamicznie pamięć
unsigned int *x=new unsigned int[5];
i na końcu programu przy zwalnianiu pamięci delete []x wyskakuje mi komunikat błędu:
HEAP CORRUPTION DETECTED: after Normal block (#274) at 0x003E7CA8 .CRT detected that the application wrote to memory after end of heap buffer. (Retry to debug application)
Niby można nacisnąć ignoruj i program kontynuuje swoją pracę, ale mimo wszystko chcialbym pozbyć się wyskakiwania tego okienka. Błąd oznacza, że pewnie w programie wykonano zapis poza przydzieloną pamięcią czyli np. w komórce pamięci x[5], np.
x[5]=8;
Niestety przejrzałem program milion razy i naprawdę nie ma przypisania poza pamięcią. Więc jak wykryć w którym miejscu może być błąd?
unsigned int *x=new unsigned int[5];
i na końcu programu przy zwalnianiu pamięci delete []x wyskakuje mi komunikat błędu:
HEAP CORRUPTION DETECTED: after Normal block (#274) at 0x003E7CA8 .CRT detected that the application wrote to memory after end of heap buffer. (Retry to debug application)
Niby można nacisnąć ignoruj i program kontynuuje swoją pracę, ale mimo wszystko chcialbym pozbyć się wyskakiwania tego okienka. Błąd oznacza, że pewnie w programie wykonano zapis poza przydzieloną pamięcią czyli np. w komórce pamięci x[5], np.
x[5]=8;
Niestety przejrzałem program milion razy i naprawdę nie ma przypisania poza pamięcią. Więc jak wykryć w którym miejscu może być błąd?