在C++0x中有类似static_assert的东西,它会给出警告而不是错误

In C++0x is there something like static_assert which gives a warning instead of an error?

本文关键字:警告 错误 C++0x static assert      更新时间:2023-10-16

我想这样做是为了使用效率低但不一定不正确的方法。

否。

断言失败表示程序无法完成的问题(无论是执行[运行时断言]还是编译[静态断言])。

事实上,实现可以做任何事情,只要它们发出诊断(包括继续执行)。但是,在实践中,主流工具链的行为基本相同:它们会出错。你当然不能把它们破解成用户定义的东西。

在C++0x中引入了这些属性。看见http://docwiki.embarcadero.com/RADStudio/en/C%2B%2B0x_attribute_deprecated例如。

不是标准的。在许多编译器中都可以找到#warning,但在大多数情况下都不一样。