C++11 如何删除默认值";错误:静态断言失败:";并且只在静态文件中打印我的消息?

C++11 如何删除默认值";错误:静态断言失败:";并且只在静态文件中打印我的消息?,c++11,static-assert,C++11,Static Assert,每当断言在以下代码中失败时: static_assert(std::get<0>(tup1) == 0, "Expected value of 0 is not there"); static_断言(std::get(tup1)==0,“期望值0不存在”); 我希望我的程序只打印诊断预期值0不存在而不是错误:静态断言失败:预期值0不存在。如何做到这一点 这是编译器生成的错误消息,它提供了一些额外的上下文来解释为什么无法编译代码。如果不更改编译器源代码,则无法更改它(但不要这样做)

每当断言在以下代码中失败时:

static_assert(std::get<0>(tup1) == 0, "Expected value of 0 is not there");
static_断言(std::get(tup1)==0,“期望值0不存在”);

我希望我的程序只打印诊断预期值0不存在而不是错误:静态断言失败:预期值0不存在。如何做到这一点

这是编译器生成的错误消息,它提供了一些额外的上下文来解释为什么无法编译代码。如果不更改编译器源代码,则无法更改它(但不要这样做)