Typedef已定义的函数

raf*_*aff -3 c c++

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

BOOL WINAPI WindowsFunction(Param1: DWORD, Param2:DWORD, Param3:DWORD);
Run Code Online (Sandbox Code Playgroud)

而Typedef应该是:

typedef BOOL (WINAPI *TWindowsFunction)(Param1: DWORD, Param2:DWORD, Param3:DWORD);
Run Code Online (Sandbox Code Playgroud)

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

#define TYPEDEF_FUNCTION(WindowsFunction....)
Run Code Online (Sandbox Code Playgroud)

谢谢!

Sha*_*ger 7

C++ 11 decltype 可以这种方式使用,或者使用typedefusing:

typedef decltype(&WindowsFunction) TWindowsFunction;
Run Code Online (Sandbox Code Playgroud)

要么:

using TWindowsFunction = decltype(&WindowsFunction);
Run Code Online (Sandbox Code Playgroud)