Повысьте конверсионное поведение as_map - PullRequest
1 голос
/ 02 ноября 2011

У меня есть две следующие карты 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.Я предположил, что обе карты должны быть идентичны.

1 Ответ

3 голосов
/ 02 ноября 2011

В конце определения FusionMap2 отсутствует ::type.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...