65,211
社区成员
发帖
与我相关
我的任务
分享
#define CAT_TWO_SYMBOL1(x,y) x##y
#define CAT_TWO_SYMBOL(x,y) CAT_TWO_SYMBOL1(x,y)
#define CNORMAL_DEF(Postfix) \
class CAT_TWO_SYMBOL(CNormal,Postfix){\
public:\
void fn(void);\
};\
inline void CAT_TWO_SYMBOL(CNormal,Postfix)::fn(void){\
}
//宏定义CNORMAL_DEF(Postfix)合法,但:
#define CTEMPLATE_DEF(Postfix) \
template <typename T> \
class CAT_TWO_SYMBOL(CTemplate,Postfix){ \
public: \
void fn(void); \
}; \
template <typename T> \
void CAT_TWO_SYMBOL(CTemplate,Postfix) <T>::fn(void){ \
}
CTEMPLATE_DEF(Test)