【问题标题】:Boost fusion as_map conversion behaviorBoost fusion as_map 转换行为
【发布时间】:2013-12-24 07:20:01
【问题描述】:

我有以下两个 boost::fusion 地图。

namespace bf = boost::fusion;
typedef bf::map<bf::pair<char,float>,bf::pair<int,double>> FusionMap;
typedef bf::result_of::at_key<FusionMap, char>::type localType; // fine

typedef bf::vector<bf::pair<char,float>,bf::pair<int,double>> FusionVec;
typedef bf::result_of::as_map<FusionVec> FusionMap2;
typedef bf::result_of::at_key<FusionMap2, char>::type localType2; // compile error

第一个版本可以工作,而第二个版本给我一个编译错误。我的编译器是 VS2010。
我是否以错误的方式使用了as_map 函数。我假设两张地图应该是相同的。

【问题讨论】:

    标签: c++ boost c++11


    【解决方案1】:

    FusionMap2 定义的末尾缺少一个::type

    【讨论】:

    • 好尴尬。这花了我几个小时,我没有看到这个。
    • +1 表示钦佩能够发现此类错误。比恩焦!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    相关资源
    最近更新 更多