1.43 ブーストでは、BOOST_STATIC_ASSERT はブール値のみを許可しているようですが、コンパイル エラーでもメッセージを表示できる代替手段はありますか?
4020 次
3 に答える
5
MPL はBOOST_MPL_ASSERT_MSG
. たとえば、GCC 4.2 を使用します。これとともに:
BOOST_MPL_ASSERT_MSG(false, THIS_DOESNT_WORK, (void));
... 結果:
/path/to/file.cpp:42: error: no matching function for call to
'assertion_failed(mpl_::failed************ (function()::THIS_DOESNT_WORK::************)())'
于 2010-07-13T21:39:39.180 に答える
3
次のようなことを試しましたか:
BOOST_STATIC_ASSERT(sizeof(long) == 64 && "Must have 64-bit long!")
コンパイラが C++0x static_assert をサポートしている場合は、次のことができます。
static_assert(sizeof(long) == 64, "Must have 64-bit long!")
于 2010-07-13T21:42:59.520 に答える