提升融合as_map转换行为

时间:2011-11-02 12:15:31

标签: c++ boost c++11

我有以下两个boost :: fusion maps。

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函数。我假设两张地图都应该是相同的。

1 个答案:

答案 0 :(得分:3)

::type定义结尾处缺少FusionMap2