Typedef已定义的函数

时间:2017-04-27 18:12:35

标签: c++ c

我正在实现一些低级别的东西,需要“typedef”许多系统(Windows)功能。例如,这是一个测试函数,我想为钩子输入typedef:

BOOL WINAPI WindowsFunction(Param1: DWORD, Param2:DWORD, Param3:DWORD);

Typedef应为:

typedef BOOL (WINAPI *TWindowsFunction)(Param1: DWORD, Param2:DWORD, Param3:DWORD);

对于一些函数来说这是可以的,但如果我想对上面的几十个函数进行上述操作,是否有一个快捷方式(比如“魔术#define”)可以避免复制几乎所有的函数声明。再次?像“神奇”一样:

#define TYPEDEF_FUNCTION(WindowsFunction....)

谢谢!

1 个答案:

答案 0 :(得分:7)

C ++ 11&#39} decltype can be used this waytypedefusing

typedef decltype(&WindowsFunction) TWindowsFunction;

或:

using TWindowsFunction = decltype(&WindowsFunction);