我有一組稱爲一個共同的接口函數,我存儲在一個共同的容器的函數指針,所以我有的#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