让我们
class Item{
public:
Item(int id,const char *name,const char *props=NULL);
};
我想写:
ITEM(1,FIRST);
ITEM(2,SECOND, WithSomeProps);
用宏
#define ITEM(ID,NAME,...) new Item(ID,NAME, #__VA_ARGS__ )
这#__VA_ARGS__
在 gcc 上编译得很好,但在 VStudio 上会出错。是否有可靠且便携的解决方案?
我想ITEM()
在一个 .h 文件中收集 .h 文件,该文件将被多次包含在不同的#definitions 中ITEM
。