![]() |
1
7
不能使用非-
但是,通常C回调有一个路由到回调的用户数据指针。这可以通过一个
|
![]() |
2
2
如果您使用MSVC,并且目标是x86-32(而不是x86-64),则可以对成员函数使用\uu stdcall约定。(cdecl也起作用) 带\u stdcall 这 将作为第一个参数传递,因此可以编写
但是
不起作用:不能直接将成员函数指针强制转换为标准的指针。您应该使用一种变通方法来实现这一点:
如果存在多重继承,并且someCallback是虚拟的,那么这个断言可能会失败。 要禁止多重继承,请使用\uu single \u inheritation关键字:
其次,应该使用
或
只有你能通过,它才有效 作为第一个参数回调。
它将是回调存根,它将\uu stdcall转换为\uu thiscall。 |
![]() |
3
1
|
![]() |
4
0
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 7 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 8 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 8 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 8 月前 |