我得到了一个从给定向量返回最小值的函数
float minValue(vector<int> v){
auto it = min_element(v.begin(), v.end());
return *it;
}
现在我有一张像
这样的地图map<std::string, function*>
{
{"min", /* here I need to use the above function call*/},
//similarly for other requirements too
{""}
}
如何使用键指向函数指针映射值?
答案 0 :(得分:1)
你是如何实际宣布function
的?您的地图定义应该类似于
map<std::string, float (*)(vector<int> v)> fnMap {
{"min", &minValue } ,
{"", NULL }
};
至于你的评论
typedef float(*function)(vector<int>);
map<std::string, function> fnMap {
{"min", &minValue } ,
{"", NULL }
};
function*
将导致指向函数指针的指针。