assert语句在c ++中不起作用

时间:2013-09-06 11:12:33

标签: c++

在我的程序中使用assert时遇到了一个奇怪的问题。 即使我添加一行代码assert(false),程序也不会终止。 但是当我写几行示例代码时assert有效。谁知道为什么会这样?

2 个答案:

答案 0 :(得分:15)

如果你有:

#define NDEBUG

这会将所有assert转换为nop

答案 1 :(得分:0)

如果你有不同的行为,取决于代码的数量,那么我猜你没有定义NDEBUG,我猜想编译器只是编译冗余代码。

有关环境的更多详细信息,但是,您给出了明确的答案。