我想知道是否有办法使用像 ReadFileEx 这样的函数,这些函数需要指向类中函数的指针而不将该函数标记为静态?提前致谢。收缩压。
最佳答案
您始终可以扩展您传递的 OVERLAPPED 结构以包含指向对象的指针。然后,传递一个调用该对象上的成员函数的函数。有点像这样:
typedef struct _MYOVERLAPPED
{
OVERLAPPED ol;
MyObject *obj;
} MYOVERLAPPED, *LPMYOVERLAPPED;
void ReadCompleted(DWORD err, DWORD read, LPMYOVERLAPPED overlap)
{
overlap->obj->foo();
}
抱歉,如果上面的代码中有一些轻微的语法错误,自从我实际编写一些 C++ 以来已经有一段时间了......
关于c++ - 异步完成例程 I/O,指向封装在类中的例程的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474608/