下面有2个ClassA和ClassB类。 如何在classB的构造函数中初始化将指针传递给ClassA的方法的classA对象?
非常感谢!
typedef int (*doWork)(int, int);
int GlobalAdd(int a, int b) {
return a + b;
}
class ClassA {
public:
ClassA(doWork){}
};
class ClassB
{
bool mIsBlocked = false;
public:
ClassB() {
ClassA A1(GlobalAdd); // OK
ClassA A2(&ClassB::MemberAdd); // error C2664: 'ClassA::ClassA(ClassA &&)': cannot convert argument 1 from 'int (__thiscall ClassB::* )(int,int)' to 'doWork'
}
int MemberAdd(int a, int b)
{
if(mIsBlocked)
return a + b;
return -1;
}
};