我有以下两个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
函数。我假设两张地图都应该是相同的。
答案 0 :(得分:3)
::type
定义结尾处缺少FusionMap2
。