0
我最近看到下面的代碼:這個靜態聲明是否正確工作?
#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)) }
將它按預期工作(BOOST_STATIC_ASSERT樣)?
你可以做,告訴我們你是怎樣嘗試使用它你的問題更精確。像這樣,msg參數沒有被使用,這很奇怪。 – 2012-02-22 13:37:53
出了什麼問題'static_assert'? – 2012-02-22 13:44:00
它不會在2010 MSVC工作,編譯器不能檢測到'1/INT(!!(e))的'是一個常數當我通過0作爲'e'。 – 2012-02-22 13:45:33