C ++称为类型而非函数或函数指针

时间:2018-08-21 15:25:18

标签: c++ function-pointers unordered-map

我有这样的无序地图

fn_map ( new std::unordered_map<std::string, void (A::*)(int,int)>({initializer_list}} )

作为A类成员。到目前为止没有问题。但是,当我尝试访问映射中的函数时,出现错误“类型不是函数或函数指针”。 考虑我添加了

{"addition", &A::addition} 

到地图。然后我这样做:

auto fn = fn_map->find("addition");
if((fn != fn_map->end()) { (fn->second)(5,10); }

但是最后一行引发错误。我确保没有声明具有相同名称的变量,并且我检查了其他解决方案,但它们似乎都无济于事。

0 个答案:

没有答案