C++ 成员函数指针调用问题
大家好:
此段代码中当callFunc找到结果的时候,我该如何调用存在在map中的 指向对象成员的函数指针 ?
class A{
public:
typedef void (A::*pf)(int);
typedef map<string, pf> script_map;
A() = default;
script_map m1;
void func1(int a){
cout << a << endl;
}
int callFunc(const string& key){
script_map::const_iterator iter = m1.find(key);
if(iter != m1.end()){
//ok
(iter.*second)(1); // error: 'second' was not declared in this scope
}else{
//error
}
}
};
int main(int argc, char **argv){
A obj;
obj.m1.insert(make_pair("key1", &A::func1));
obj.callFunc("key1");
}
以上,请各位指教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该改成