现有DLL函数的Typedef返回函数错误

Typedef for existing DLL function returns function error

本文关键字:函数 返回 错误 Typedef DLL 现有      更新时间:2023-10-16

我想在我的程序中使用一个具有功能的DLL

void Set_Callback(Function Pointer)

示例代码插入了一个typedef,它显然不适用于我的VS C++2010

typedef void (SET_CALLBACK)(void far pascal (*lpfnPtr)(int));

对于这一行,我得到了一个语法错误"*"answers"function return function"错误。

感谢您的提前帮助

如果你把它分成两种类型,它会更容易理解和阅读:

typedef void (__stdcall * Function)(int);
typedef void (* SETCALLBACK)(Function pf);

在第一个typedef中,pascal变为__stdcall(就像pascal用于较老的16位系统一样),并且far可以被丢弃,因为它在32/64位体系结构

中是多余的

应该是

typedef void far pascal (*CallbackType)(Function*);