如何调用类成员函数指针?
大概代码意思如下,Class1封装完成某项功能,同时要提供一些回调函数以便Class2进行处理
但是无法通过编译。提示都是cannot convert parameter 1 from 'void (void)' to 'void (__cdecl *)(void)
Class1.h
typedef void Error(char* Descrption)
Class1
{
public:
Class1();
virtual ~Class1();
public:
AddErrorFun(Error* fnError);
private:
Error* fnError;
}
Class1.cpp
include "Class1.h"
Class1::Class1()
{
}
Class1::~Class1()
{
}
Class1::AddErrorFun(Error* fnError);
{
this->fnError = fnError;
}
Class2.h
include "Class1.h"
Class2
{
public:
Class2();
virtual ~Class2();
public:
void OnError(char* Description);
private:
Class1* clsTest;
}
Class2.cpp
include "Class2.h"
Class2::Class2()
{
clsTest = new Class1();
clsTest->AddErrorFun(OnError);
}
Class2::~Class2()
{
}
void Class2::OnError(char* Description);
{
AfxMessageBox(Descrption);
}