问题描述
我想用包含功能的std::map
键制作一个std::string
。
这些函数应该为templates
,以便使用不同的数值:
template <typename T> T (*pfunc)(T,T);
地图声明如下:
std::map<std::string,pfunc> funcMap;
我知道我需要pfunc
的模板参数列表,但我真的不知道该怎么做。
[编辑]
参与计数评论。我希望能够: 创建功能模板为:
template <typename T>
T myMax(T x,T y)
{
return (x > y)? x: y;
}
或
template <typename T>
T myMin(T x,T y)
{
return (x < y)? x: y;
}
- 然后将其添加到我的地图:
funcMap["myMax"] = myMax;
或funcMap["myMin"] = myMin;
- 并将其用作:
funcMap["myMax"]<int>(3,4);
funcMap["myMax"]<float>(3.1,4.5);
funcMap["myMin"]<int>(3,4);
funcMap["myMin"]<float>(3.1,4.5);
- 这是可能的吗?还有更好的主意吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)