断言即使我输入错了,我也为每一个输入使用bash进行工作?如何解决这个问题?

时间:2018-12-12 17:47:41

标签: c++ eclipse

我用C ++编写了一个代码,然后编写了一个主文件来检查它,在这个主文件中,我使用了一个断言来检查我得到的值是否为真... 但是一段时间后,我发现即使输入了错误的值,我在bash上也不会出错。有人知道为什么吗?还是为什么会发生这种事情?

例如:

totalCount = data.SLCancellationRequestList.totalCount;
  

//这就是我在bash中进行编译的方式:

     

g ++ -std = c ++ 0x -DNDEBUG -g * .cpp

1 个答案:

答案 0 :(得分:3)

来自https://en.cppreference.com/w/cpp/error/assert

  

如果在源代码中包含NDEBUG的位置将其定义为宏名称,则assert不会执行任何操作。

由于您使用-DNDEBUG进行编译,因此这些语句根本没有做任何事情。