我想知道是否有使用像ReadFileEx
这样的函数需要指向类中函数的指针而不将函数标记为静态?提前致谢。 SBP
答案 0 :(得分:2)
您始终可以扩展传递的OVERLAPPED结构,以包含指向对象的指针。然后,传递一个调用该对象上的成员函数的函数。有点像这样:
typedef struct _MYOVERLAPPED
{
OVERLAPPED ol;
MyObject *obj;
} MYOVERLAPPED, *LPMYOVERLAPPED;
void ReadCompleted(DWORD err, DWORD read, LPMYOVERLAPPED overlap)
{
overlap->obj->foo();
}
很抱歉,如果上面的代码中有一些轻微的语法错误,那我已经有一段时间了,因为我实际上写了一些C ++ ......
答案 1 :(得分:1)
不,非静态类函数有一个隐含的第一个参数(this),它与它们作为ReadFileEx的回调等的使用不兼容。