我想在我的程序中使用一个具有函数
的DLLvoid Set_Callback(Function Pointer)
示例代码插入了一个类似于我的VS C ++ 2010无法使用的typedef
typedef void (SET_CALLBACK)(void far pascal (*lpfnPtr)(int));
对于这一行,我得到语法错误'*'和'函数返回函数'错误。
感谢您提前的帮助
答案 0 :(得分:1)
如果将其分解为两个typedef,它更易于理解和阅读:
typedef void (__stdcall * Function)(int);
typedef void (* SETCALLBACK)(Function pf);
在第一个typedef中,pascal
变为__stdcall
(因为pascal
适用于较旧的16位系统),并且far
可以删除,因为它在32/64中是多余的位结构
答案 1 :(得分:0)
应该是
typedef void far pascal (*CallbackType)(Function*);