#define _STATIC_ASSERT_IMPL_(arg) static_assert ((arg) ,"static_assert failed : " ## #arg) #define _STATIC_ASSERT_(...) _STATIC_ASSERT_IMPL_ (__VA_ARGS__)
本人定义了一个宏,这个在VS上是没有问题的
而g++上报error: pasting “”static_assert failed : “” and “”(CSC::LENGTH (sizeof (TYPE))) == (CSC::LENGTH (sizeof (_ARG)))”” does not give a valid preprocessing token
怎么让g++对这方面能像VS一样,或C++对字符串常量拼接的标准语法是什么
解决方案
10
不需要用 ##
"a" "b" // 等同于 "ab"
10
多加一层括号