有没有办法添加或编辑断言抛出的消息?我想用类似的东西
assert(a == b, "A must be equal to B");
Run Code Online (Sandbox Code Playgroud)
然后,编译器添加行,时间等...
可能吗?
在以下情况下可以使用哪些方法
我想创建在中定义的assert宏的自定义版本,<cassert>在断言失败时显示错误消息。
所需用法:
custom_assert(AClass<T1, T2>::aBoolMethod(), "aBoolMethod must be true");
测试实现有缺陷:
#define custom_assert(mCondition, mMessage) ...
// This fails because mCondition may have commas in it
#define custom_assert(..., mMessage)
// Not sure about this either - mMessage may be an expression containing commas
// as well
Run Code Online (Sandbox Code Playgroud)
如何正确实现一个自定义断言,该自定义断言将布尔表达式(可能带有逗号)作为第一个参数,并将字符串表达式(可能带有逗号)作为第二个参数?
还是有一种不使用宏来实现断言的方法?
我正在像this answer一样在C++中使用Android NDK制作自己的断言宏,但是有一个std::exit功能无法在Android中使用。有没有像std::exitAndroid一样的替代品?