How do I test that static assert does indeed assert for “false”?
假设我有一个自定义的静态断言实现(因为我需要针对没有内置
1
|
MY_STATIC_ASSERT(false);
|
确实断言。如果我只是编写这样的代码 – 它不会编译(因此不会运行)。我宁愿有一些代码在上面的代码失败时编译得很好,而在上面的代码编译时编译失败。
这可能吗?我可以在编译时(或至少在运行时)检查我的静态断言是否确实为”假”断言?
当然,您可以进行”编译时”检查——只要您完全在编译其他东西:
1
2 3 4 5 6 7 8 9 10 11 12 |
// test_my_static_assert.cpp
#include"my_static_assert.h" int main() { // compile.sh |
什么的。但它必须完全在一个单独的程序中。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268875.html