小编DBe*_*eck的帖子

需要在C ++中将函数分配给变量

这不应该太难,但我被卡住了。

我正在尝试将函数分配给变量,但我需要知道数据类型,以便将其分配给地图。

我成功地做到了这一点:

auto pfunc = Ext::SomeFunction
Run Code Online (Sandbox Code Playgroud)

这将允许我做:

pfunc(arg, arg2);
Run Code Online (Sandbox Code Playgroud)

但是我需要知道“auto”涵盖的数据类型,以便我可以将我的函数映射到字符串。

例如:

std::unordered_map<std::string, "datatype"> StringToFunc = {{"Duplicate", Ext::Duplicate}};
Run Code Online (Sandbox Code Playgroud)

这些函数中的大多数返回 void,但还有其他函数返回 double 和 int。

如果有更好的方法可以做到这一点,请告诉我,但我真的很想知道上面使用的 auto 背后的数据类型。

非常感谢您提供的任何帮助。

c++ variables unordered-map function auto

2
推荐指数
1
解决办法
5412
查看次数

标签 统计

auto ×1

c++ ×1

function ×1

unordered-map ×1

variables ×1