【发布时间】:2017-04-27 18:12:34
【问题描述】:
我正在实现一些低级的东西,需要“typedef”许多系统(Windows)功能。例如,这是一个测试函数,我想为钩子键入定义:
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) 这不是有效的 C 语法。 2) 为什么需要所有这些 typedef?
-
我认为你需要退后一步,重新定义问题
-
这不是有效的 C++ 语法,类型和参数名称之间没有':'。
-
对不起,我把 Pascal 和 C 混在一起了! :(
-
删除 C 标签作为接受的答案,OP 想要的,不适用于 C