当前位置:  开发笔记 > 编程语言 > 正文

可以使用Boost或STL显示自定义字符串的C++断言?

如何解决《可以使用Boost或STL显示自定义字符串的C++断言?》经验,为你挑选了2个好方法。

我真的希望能够:(在C++中)

assert( num > 0, "The number must be greater than zero!");

在C#XNA中,他们有一个方法可以完成这个:

Debug.Assert( num > 0, "The number must be greater than zero!");

有没有办法做到这一点,以便运行时给我一个意义完整的错误,而不仅仅是"断言失败"错误?



1> Eclipse..:

您可以在大多数断言中使用它:

assert(("The number must be greater than zero!",  num > 0));



2> Ferruccio..:

运行时通常会显示失败的表达式,因此您可以执行以下操作:

assert(num > 0 && "The number must be greater than zero!");

这不会影响逻辑,但断言失败消息将包含描述性字符串.

此外,这可以在不需要STL或Boost的情况下工作.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有