2013-09-06 2 views
-5

У меня возникла странная проблема при использовании assert в моей программе. Программа не заканчивается, даже когда я добавляю строку кода assert(false). Но assert работает, когда я пишу несколько строк кода примера. Кто-нибудь знает, почему это произошло?Оператор assert не работает в C++

+2

Может быть полезно посмотреть код – fiscblog

+9

утвердить работы на C++. Чтобы рассказать вам, почему ваш код не работает, нам нужно это увидеть. – dornhege

+4

Вы уверены, что используете конфигурацию Debug, чтобы 'assert' не просто удалялся предшественником? – Mikhail

ответ

12

Если у вас есть:

#define NDEBUG 

это превращает все assert 'S в nop' с.

0

Если у вас различное поведение, в зависимости от количества кода, то я предполагаю, что у вас нет NDEBUG, и я бы предположил, что компилятор просто компилирует избыточный код.

Требуется более подробная информация об окружающей среде, однако вы даете окончательный ответ.

Смежные вопросы