From looking at the docs, is it because you're wrapping the member type in parens?BOOST_FUSION_DEFINE_STRUCT( (namespace0)(namespace1)..., struct_name, (member_type0, member_name0) (member_type1, member_name1) ... )that is, have you tried:BOOST_FUSION_DEFINE_STRUCT((demo), curves,(std::map<std::string, std::string>, futures)(std::map<std::string, std::string>, credit_curves))On 30 July 2017 at 17:25, Robert Jones via Boost-users <boost-users@lists.boost.org> wrote:______________________________Hi PeepsCan anyone tell me what's wrong with this? I think macro expansion is going awry, but I'm not sure why. Do I really have to typedef the map<...> type to keep Fusion happy?Thx.#include<string>#include<map>#include <boost/fusion/adapted/struct/define_struct.hpp> #include <boost/fusion/include/define_struct.hpp> BOOST_FUSION_DEFINE_STRUCT((demo), curves,((std::map<std::string, std::string>), futures)((std::map<std::string, std::string>), credit_curves))int main( ){return 0;}> makefusion.cpp|9 col 39| error: invalid declarator before ‘)’ token|| ((std::map<std::string, std::string>), futures)Kind RegardsRob._________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost- users