【问题标题】:The assert statement does not work in c++ [closed]断言语句在 C++ 中不起作用 [关闭]
【发布时间】:2021-07-29 06:52:27
【问题描述】:

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

【问题讨论】:

  • 查看一些代码可能会有所帮助
  • 断言在 C++ 中工作。为了告诉你为什么你的代码不起作用,我们需要看看。
  • 你确定你使用的是Debug配置,这样assert就不会被前任简单地剥离了吗?

标签: c++


【解决方案1】:

如果你有:

#define NDEBUG

这会将所有assert 变成nop

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      • 2022-01-22
      • 2014-08-03
      相关资源
      最近更新 更多