说我有表格的实例化
template void MyClass<2,typeA>::some_method() const;
用于模板参数的各种组合。
我正在尝试使用boost定义一个带有前缀(void
)和后缀some_method() const
的宏,以便我可以将其重用于显式实例化。
使用硬编码的返回类型和函数名称,可以按行完成(尚未测试):
#define DIM (2)(3)
#define DEG (typeA)(typeB)
#define INSTANTIATEONE(_, targs) void MyClass<BOOST_PP_SEQ_ENUM(targs)>::some_method() const;
#define INSTANTIATEALL() BOOST_PP_SEQ_FOR_EACH_PRODUCT(INSTANTIATEONE, (DIM)(DEG));
有没有办法扩展宏以将void
和some_method() const
作为参数?我是新手来加强预处理器而无法弄清楚如何做到这一点。
答案 0 :(得分:0)
我最终使用
GtkWidget *drawing_area;