0
私は最近、次のコードを見ました:(BOOST_STATIC_ASSERTのような)予想通りこの静的なアサートは正しいですか?
#define MY_ASSERT_CONCAT_(a, b) a##b
#define MY_ASSERT_CONCAT(a, b) MY_ASSERT_CONCAT_(a, b)
#define MY_STATIC_ASSERT(e,msg) enum { MY_ASSERT_CONCAT(assert_line_,__LINE__) = 1/int(!!(e)) }
それは動作しますか?
どのように使用しようとしているかを教えて、より正確な質問をすることができます。このように、 'msg'パラメータは使用されません。これは変です。 –
'static_assert'の何が問題なのですか? –
MSVC 2010では動作しません。コンパイラは、 'e'として0を渡すと' 1/int(!!(e)) 'が定数であることを検出できません。 –