MALLOC_CHECK_ не сообщает о нарушениях

Я включил MALLOC_CHECK_ установив его на 1 (пробовал также с 2 и 3) Но я не вижу, чтобы он сообщал о каких-либо проблемах со следующей программой c ++:

  int n = atoi(argv[1]);
std::cout<<"n = "<<n<<std::endl;
char *buf = new char[n];

for (int i = 0;i < n*n; i++)
{
buf++;
*buf = 'x';
}std::cout<<"done"<<std::endl;

Я что-то здесь упускаю?

3

Решение

Попробуйте вызвать «удалить» в конце. Для меня gcc начал отмечать ошибки только тогда, когда в конце был вызов «free». Может быть, деталь реализации.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector