我试图了解如何在代码中使用Ensures()
。如example中给出的,如果我尝试如下使用Ensures()
……
int main(void)
{
int result = 0;
// Some calculation
Ensures(result == 255);
return 0;
}
如果
result
变量不等于255
,则程序将崩溃,并显示以下输出"terminate called without an active exception"
。我的问题是如何正确使用Ensures()
? 最佳答案
您在使用Microsoft GSL implementation吗?然后,如果您检查the gsl_assert.h
header file,您会看到,如果已定义GSL_TERMINATE_ON_CONTRACT_VIOLATION
(默认设置),那么Ensures
将调用 std::terminate
,这将给您带来错误。
如果要引发异常(带有文件和行号信息),则需要在包含GSL之前定义GSL_THROW_ON_CONTRACT_VIOLATION
。
至于您是否正确使用了Ensures
,则可以。
关于c++ - sures()-准则支持库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36349523/