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