【发布时间】:2010-10-13 01:10:46
【问题描述】:
我知道这听起来很令人困惑,我有一个基模板类,它有一个函数指针,一个子类(不再是模板类)需要使用该函数指针指向子类的成员函数,并且我得到了各种各样的错误..我违反了 C++ 的一些普遍规律吗? 这是伪代码:
template <class T>
class Base{
public:
typedef void (Base<T>::*fptr) (char in);
void funcA(fptr FuncToCall){
FuncToCall('a');
}
...
};
class Child:public Base<char>{
public:
void funcToCall(){...}
void funcB(){
funcA(funcToCall);
}
}
这是我收到的错误消息:
错误 C2664: 'Base::funcA' : 不能 将参数 1 从 'void (__thiscall Child::* )(char)' 到 'void (__thiscall Base
::*)(char)'
【问题讨论】:
标签: c++ inheritance function-pointers