【发布时间】: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 函数。我假设两张地图应该是相同的。
【问题讨论】: