我有一组称为一个共同的接口函数,我存储在一个共同的容器的函数指针,所以我有的#define函数参数C++
typedef void(*CommandFunction)(const InputArgsMap &, const ArgumentMap *);
与此说,什么是最好的方法声明这种类型的函数而不复制粘贴参数列表?我想通过#define
来实现,但是有没有其他的(更好的,OOP)的方式?
例如,是否有可能像做
#define CMD_ARGS (const InputArgsMap &, const ArgumentMap *)
void _fcn_1(CMD_ARGS);
void _fnc_2(CMD_ARGS);
试试吧!运行预处理器并查看它输出的内容。 – 2014-11-25 11:46:49
@JoachimPileborg:这会告诉你,你不能这样做。它不会告诉你这样的事情是否可行。 – 2014-11-25 11:49:07
谢谢你的答案:)它的工作原理,我必须删除'#define'指令中的'()'。 – manatttta 2014-11-25 12:04:29