每当断言在如下代码中失败时:
static_assert(std::get<0>(tup1) == 0, "Expected value of 0 is not there");
我希望我的程序仅打印诊断预期值 0 不存在,而不是错误:静态断言失败:预期值 0 不存在。如何做到这一点?
最佳答案
这是编译器生成的错误消息,它提供了一些额外的上下文来解释代码无法编译的原因。在不更改编译器源的情况下无法更改它(但不要这样做)。
关于c++11 - 如何删除默认的 "error: static assertion failed:"并在 static_assert 中仅打印我的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41276451/