c2440 error 自定义typedef函数指针指向类成员,该如何处理
c2440 error 自定义typedef函数指针指向类成员
各位高手
我在类外面定义了一个函数指针typedef (CallbackDTR*)(), 并在类中定义了一个成员CallbackDTR pointer;
在类的成员函数中用pointer = this-> method;的时候
出现了c2440, 不能把_cdcel.......转化为_thiscall............
这样的问题,请问这种指针类型不能转化的问题怎么解决。
------解决方案--------------------
class cl;
typedef void (cl::*fun)();
class cl
{
public :
void aa();
fun _fun;
cl()
{
_fun = &cl::aa;
}
};
------解决方案--------------------
ls说了我就不说了
------解决方案--------------------
pointer = this-> method
method是成员函数吧,把这个成员函数改成static
------解决方案--------------------
但在static里你不能调用非static成员,不知道你是否有需要调用程序变量和函数的要求
如果有,那就是成员指针,没有就,static
各位高手
我在类外面定义了一个函数指针typedef (CallbackDTR*)(), 并在类中定义了一个成员CallbackDTR pointer;
在类的成员函数中用pointer = this-> method;的时候
出现了c2440, 不能把_cdcel.......转化为_thiscall............
这样的问题,请问这种指针类型不能转化的问题怎么解决。
------解决方案--------------------
class cl;
typedef void (cl::*fun)();
class cl
{
public :
void aa();
fun _fun;
cl()
{
_fun = &cl::aa;
}
};
------解决方案--------------------
ls说了我就不说了
------解决方案--------------------
pointer = this-> method
method是成员函数吧,把这个成员函数改成static
------解决方案--------------------
但在static里你不能调用非static成员,不知道你是否有需要调用程序变量和函数的要求
如果有,那就是成员指针,没有就,static