【发布时间】:2018-02-24 14:40:12
【问题描述】:
我想要一个键值对的映射;键可以实现为字符串或枚举类;但值需要支持多种类型,例如int 或 bool
现在,我想要一个具有以下签名的函数
template<typename T>
void getOption(KeyClass key_, T& value_)
鉴于映射是常量,是否可以让函数在编译时检查类型?
例如,如果地图类似于 {"start_time": 2, "can_abort": false}
应该有编译错误
bool can_abort;
getOption("start_time", can_abort);
【问题讨论】:
-
看起来你可以使用
tuple和项目索引作为键。 -
你能提供一些有用的示例代码吗?以及您遇到问题的minimal reproducible example?
标签: c++ template-meta-programming variant