我有一个可变的宏,它运行得很好:
#define COMPONENT_CLASS(name, inheritance...) \
class name : public Component, ##inheritance {
由于没有进一步的相关原因,我试图首先避免使用这种变量。我的方法看起来像这样
#define COMPONENT_CLASS_Inherits(...) , ##__VA_ARGS__
#define COMPONENT_CLASS(name, inheritance) \
class name : public Component inheritance {
我想这样使用:
COMPONENT_CLASS(Test, COMPONENT_CLASS_Inherits(SomeInterface))
};
这有效,当有一些接口但失败时,COMPONENT_CLASS_Inherits
没有参数,因为前导逗号不会被删除!这有什么问题?