1
|
nacho4d · 技术社区 · 14 年前 |
1
4
非静态函数采用附加的隐藏参数(
你可以做
所以可以从静态成员中开始。 |
2
4
但是,这都与要点无关,因为您显然需要一个指向
普通的
函数不是成员函数。指向成员函数的指针是一个性质完全不同的对象,甚至与指向普通函数的指针都不太相似。换句话说,你试图做的是不可能的。无法将指针传递给
如果您想调用一个非静态成员函数作为回调,您有责任使用某种中间包装函数来接收调用,并通过适当的对象将其委托给成员函数。C++本身没有提供很好的特性,但是它通常可以使用您正在尝试使用的库的特定特性来实现(假设库是用这样设计的)。 |
3
2
您需要将当前窗口映射到表示该窗口的foo对象(假设每个窗口有一个foo对象)。 如果您只有一个foo对象,或者您考虑将方法设为静态,那么就停止。这是一个C库,因此DES不理解C++ ABI。将代码切换回使用C函数的状态。如果您的代码是用C++文件编写的(或者编译为C++),那么您必须声明函数为 外部“C” 以确保绑定正确。 如果每个窗口都有一个foo对象,那么我会这样做:
|
4
2
正如上面RemusRusanu所说,只需在函数中添加static就可以做到这一点。这样可以确保该方法始终可用。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |