练习 – 找到报错原因


In file included from /home/lz/桌面/code/scheme/sys/boost/variant.hpp:17:0, from /home/lz/桌面/code/scheme/types/all.hpp:18, from /home/lz/桌面/code/scheme/types.hpp:4, from /home/lz/桌面/code/scheme/tokenizer.hpp:6, from /home/lz/桌面/code/scheme/cli.cpp:2: /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp: In instantiation of ‘int boost::variant::convert_copy_into::internalvisit(T&, int) const [with T = const LambdaType; T0 = Formatter; T1 = Formatter >; T2 = Formatter >; T3 = Formatter; T4 = Formatter; T5 = Formatter; T6 = Formatter; T7 = Formatter; T8 = Formatter; T9 = Formatter; T10 = Formatter; T11 = Formatter; T12 = Formatterstd::basic_string<char >; T13 = Formatter; T14 = Formatter; T15 = Formatterstd::basic_string<char >; T16 = Formatter; T17 = boost::detail::variant::void; T18 = boost::detail::variant::void; T19 = boost::detail::variant::void_]’: /home/lz/桌面/code/scheme/sys/boost/variant/detail/visitation_impl.hpp:130:9: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl_invokeimpl(int, Visitor&, VoidPtrCV, T*, mpl::true_) [with Visitor = boost::variant, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter >::convert_copy_into; VoidPtrCV = const void; T = LambdaType; typename Visitor::resulttype = int; mpl::true_ = mpl::bool]’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/visitation_impl.hpp:170:41: required from ‘typename Visitor::result_type boost::detail::variant::visitation_impl_invoke(int, Visitor&, VoidPtrCV, T, NoBackupFlag, int) [with Visitor = boost::variant, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter >::convert_copy_into; VoidPtrCV = const void; T = LambdaType; NoBackupFlag = boost::variant, Wrapper, int, int, int, int, ComplexType, int, int, int, int, std::basic_string, int, int, std::basic_string, LambdaType, int>::has_fallbacktype; typename Visitor::result_type = int]’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/visitation_impl.hpp:256:5: required from ‘typename Visitor::result_type boost::detail::variant::visitationimpl(int, int, Visitor&, VoidPtrCV, mpl::false_, NoBackupFlag, Which, step0) [with Which = mpl::int<0>; step0 = boost::detail::variant::visitation_impl_stepboost::mpl::l_iter<boost::mpl::l_item<mpl_::long_<18l, int, boost::mpl::litem<mpl::long_<17l>, Wrapper, boost::mpl::litem<mpl::long_<16l>, Wrapper, boost::mpl::litem<mpl::long_<15l>, int, boost::mpl::litem<mpl::long_<14l>, int, boost::mpl::litem<mpl::long_<13l>, int, boost::mpl::litem<mpl::long_<12l>, int, boost::mpl::litem<mpl::long_<11l>, ComplexType, boost::mpl::litem<mpl::long_<10l>, int, boost::mpl::litem<mpl::long_<9l>, int, boost::mpl::litem<mpl::long_<8l>, int, boost::mpl::litem<mpl::long_<7l>, int, boost::mpl::litem<mpl::long_<6l>, std::basic_string, boost::mpl::litem<mpl::long_<5l>, int, boost::mpl::litem<mpl::long_<4l>, int, boost::mpl::litem<mpl::long_<3l>, std::basic_string, boost::mpl::litem<mpl::long_<2l>, LambdaType, boost::mpl::litem<mpl::long_<1l>, int, boost::mpl::l_end> > > > > > > > > > > > > > > > > > >, boost::mpl::l_iterboost::mpl::l_end >; Visitor = boost::variant, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter >::convert_copy_into; VoidPtrCV = const void; NoBackupFlag = boost::variant, Wrapper, int, int, int, int, ComplexType, int, int, int, int, std::basic_string, int, int, std::basic_string, LambdaType, int>::has_fallbacktype; typename Visitor::resulttype = int; mpl::false_ = mpl::bool]’ /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:2362:48: required from ‘static typename Visitor::result_type boost::variant::internal_apply_visitor_impl(int, int, Visitor&, VoidPtrCV) [with Visitor = boost::variant, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter >::convert_copyinto; VoidPtrCV = const void*; T0 = int; T1 = Wrapper; T2 = Wrapper; T3 = int; T4 = int; T5 = int; T6 = int; T7 = ComplexType; T8 = int; T9 = int; T10 = int; T11 = int; T12 = std::basic_string; T13 = int; T14 = int; T15 = std::basicstring; T16 = LambdaType; T17 = int; T18 = boost::detail::variant::void; T19 = boost::detail::variant::void_; typename Visitor::result_type = int]’ /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:2387:43: required from ‘typename Visitor::result_type boost::variant::internal_apply_visitor(Visitor&) const [with Visitor = boost::variant, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter >::convert_copyinto; T0 = int; T1 = Wrapper; T2 = Wrapper; T3 = int; T4 = int; T5 = int; T6 = int; T7 = ComplexType; T8 = int; T9 = int; T10 = int; T11 = int; T12 = std::basic_string; T13 = int; T14 = int; T15 = std::basicstring; T16 = LambdaType; T17 = int; T18 = boost::detail::variant::void; T19 = boost::detail::variant::void_; typename Visitor::result_type = int]’ /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:1628:23: required from ‘void boost::variant::convertconstruct(Variant&, long int, mpl::true_) [with Variant = const boost::variant, Wrapper, int, int, int, int, ComplexType, int, int, int, int, std::basic_string, int, int, std::basicstring, LambdaType, int>; T0 = Formatter; T1 = Formatter >; T2 = Formatter >; T3 = Formatter; T4 = Formatter; T5 = Formatter; T6 = Formatter; T7 = Formatter; T8 = Formatter; T9 = Formatter; T10 = Formatter; T11 = Formatter; T12 = Formatterstd::basic_string<char >; T13 = Formatter; T14 = Formatter; T15 = Formatterstd::basic_string<char >; T16 = Formatter; T17 = boost::detail::variant::void; T18 = boost::detail::variant::void; T19 = boost::detail::variant::void; mpl::true_ = mpl::bool]’ /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:1669:26: required from ‘void boost::variant::convert_construct_variant(Variant&) [with Variant = const boost::variant, Wrapper, int, int, int, int, ComplexType, int, int, int, int, std::basic_string, int, int, std::basicstring, LambdaType, int>; T0 = Formatter; T1 = Formatter >; T2 = Formatter >; T3 = Formatter; T4 = Formatter; T5 = Formatter; T6 = Formatter; T7 = Formatter; T8 = Formatter; T9 = Formatter; T10 = Formatter; T11 = Formatter; T12 = Formatterstd::basic_string<char >; T13 = Formatter; T14 = Formatter; T15 = Formatterstd::basic_string<char >; T16 = Formatter; T17 = boost::detail::variant::void; T18 = boost::detail::variant::void; T19 = boost::detail::variant::void_]’ /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:1719:34: required from ‘void boost::variant::convert_construct(const boost::variant&, long int) [with U0 = int; U1 = Wrapper; U2 = Wrapper; U3 = int; U4 = int; U5 = int; U6 = int; U7 = ComplexType; U8 = int; U9 = int; U10 = int; U11 = int; U12 = std::basic_string; U13 = int; U14 = int; U15 = std::basicstring; U16 = LambdaType; U17 = int; U18 = boost::detail::variant::void; U19 = boost::detail::variant::void; T0 = Formatter; T1 = Formatter >; T2 = Formatter >; T3 = Formatter; T4 = Formatter; T5 = Formatter; T6 = Formatter; T7 = Formatter; T8 = Formatter; T9 = Formatter; T10 = Formatter; T11 = Formatter; T12 = Formatterstd::basic_string<char >; T13 = Formatter; T14 = Formatter; T15 = Formatterstd::basic_string<char >; T16 = Formatter; T17 = boost::detail::variant::void; T18 = boost::detail::variant::void; T19 = boost::detail::variant::void_]’ /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:1740:26: required from ‘boost::variant::variant(const T&) [with T = boost::variant, Wrapper, int, int, int, int, ComplexType, int, int, int, int, std::basic_string, int, int, std::basicstring, LambdaType, int>; T0 = Formatter; T1 = Formatter >; T2 = Formatter >; T3 = Formatter; T4 = Formatter; T5 = Formatter; T6 = Formatter; T7 = Formatter; T8 = Formatter; T9 = Formatter; T10 = Formatter; T11 = Formatter; T12 = Formatterstd::basic_string<char >; T13 = Formatter; T14 = Formatter; T15 = Formatterstd::basic_string<char >; T16 = Formatter; T17 = boost::detail::variant::void; T18 = boost::detail::variant::void; T19 = boost::detail::variant::void_]’ /home/lz/桌面/code/scheme/types/all.hpp:77:30: required from ‘Formatter_type FMT(const T&) [with T = boost::variant, Wrapper, int, int, int, int, ComplexType, int, int, int, int, std::basic_string, int, int, std::basic_string, LambdaType, int>; Formatter_type = boost::variant, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter >]’ /home/lz/桌面/code/scheme/cli.cpp:101:98: required from here /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:1457:43: error: no matching function for call to ‘boost::variant, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter >::initializer::initialize(void* const&, const LambdaType&)’ return initializer::initialize(storage_, operand); ^ In file included from /home/lz/桌面/code/scheme/sys/boost/variant/variant.hpp:33:0, from /home/lz/桌面/code/scheme/sys/boost/variant.hpp:17, from /home/lz/桌面/code/scheme/types/all.hpp:18, from /home/lz/桌面/code/scheme/types.hpp:4, from /home/lz/桌面/code/scheme/tokenizer.hpp:6, from /home/lz/桌面/code/scheme/cli.cpp:2: /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:104:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<3> >, boost::mpl::l_iterboost::mpl::list14<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<4> >, boost::mpl::l_iterboost::mpl::list13<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<5> >, boost::mpl::l_iterboost::mpl::list12<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<6> >, boost::mpl::l_iterboost::mpl::list11<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<7> >, boost::mpl::l_iterboost::mpl::list10<Formatter<ComplexType, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<8> >, boost::mpl::l_iterboost::mpl::list9<Formatter<int, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<9> >, boost::mpl::l_iterboost::mpl::list8<Formatter<int, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<10> >, boost::mpl::l_iterboost::mpl::list7<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<11> >, boost::mpl::l_iterboost::mpl::list6<Formatter<int, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<12> >, boost::mpl::l_iterboost::mpl::list5<Formatter<std::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<13> >, boost::mpl::l_iterboost::mpl::list4<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<14> >, boost::mpl::l_iterboost::mpl::list3<Formatter<int, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<15> >, boost::mpl::l_iterboost::mpl::list2<Formatter<std::basic_string<char >, Formatter > > >::initializernode, mpl::int_<16> >; Iterator = boost::mpl::l_iterboost::mpl::list1<Formatter<int > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param_T = const Formatter&] static int initialize(void dest, param_T operand) ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:104:24: note: no known conversion for argument 2 from ‘const LambdaType’ to ‘boost::detail::variant::make_initializer_node::apply >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<3> >, boost::mpl::l_iterboost::mpl::list14<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<4> >, boost::mpl::l_iterboost::mpl::list13<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<5> >, boost::mpl::l_iterboost::mpl::list12<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<6> >, boost::mpl::l_iterboost::mpl::list11<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<7> >, boost::mpl::l_iterboost::mpl::list10<Formatter<ComplexType, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<8> >, boost::mpl::l_iterboost::mpl::list9<Formatter<int, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<9> >, boost::mpl::l_iterboost::mpl::list8<Formatter<int, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<10> >, boost::mpl::l_iterboost::mpl::list7<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<11> >, boost::mpl::l_iterboost::mpl::list6<Formatter<int, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<12> >, boost::mpl::l_iterboost::mpl::list5<Formatter<std::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<13> >, boost::mpl::l_iterboost::mpl::list4<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<14> >, boost::mpl::l_iterboost::mpl::list3<Formatter<int, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<15> >, boost::mpl::l_iterboost::mpl::list2<Formatter<std::basic_string<char >, Formatter > > >::initializernode, mpl::int_<16> >, boost::mpl::l_iterboost::mpl::list1<Formatter<int > > >::initializer_node::param_T {aka const Formatter&}’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<3> >, boost::mpl::l_iterboost::mpl::list14<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<4> >, boost::mpl::l_iterboost::mpl::list13<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<5> >, boost::mpl::l_iterboost::mpl::list12<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<6> >, boost::mpl::l_iterboost::mpl::list11<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<7> >, boost::mpl::l_iterboost::mpl::list10<Formatter<ComplexType, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<8> >, boost::mpl::l_iterboost::mpl::list9<Formatter<int, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<9> >, boost::mpl::l_iterboost::mpl::list8<Formatter<int, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<10> >, boost::mpl::l_iterboost::mpl::list7<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<11> >, boost::mpl::l_iterboost::mpl::list6<Formatter<int, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<12> >, boost::mpl::l_iterboost::mpl::list5<Formatter<std::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<13> >, boost::mpl::l_iterboost::mpl::list4<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<14> >, boost::mpl::l_iterboost::mpl::list3<Formatter<int, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<15> >, boost::mpl::l_iterboost::mpl::list2<Formatter<std::basic_string<char >, Formatter > > >::initializernode, mpl::int_<16> >; Iterator = boost::mpl::l_iterboost::mpl::list1<Formatter<int > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T = Formatter&&] static int initialize(void dest, param2_T operand) ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: no known conversion for argument 2 from ‘const LambdaType’ to ‘boost::detail::variant::make_initializer_node::apply >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<3> >, boost::mpl::l_iterboost::mpl::list14<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<4> >, boost::mpl::l_iterboost::mpl::list13<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<5> >, boost::mpl::l_iterboost::mpl::list12<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<6> >, boost::mpl::l_iterboost::mpl::list11<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<7> >, boost::mpl::l_iterboost::mpl::list10<Formatter<ComplexType, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<8> >, boost::mpl::l_iterboost::mpl::list9<Formatter<int, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<9> >, boost::mpl::l_iterboost::mpl::list8<Formatter<int, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<10> >, boost::mpl::l_iterboost::mpl::list7<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<11> >, boost::mpl::l_iterboost::mpl::list6<Formatter<int, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<12> >, boost::mpl::l_iterboost::mpl::list5<Formatter<std::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<13> >, boost::mpl::l_iterboost::mpl::list4<Formatter<int, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<14> >, boost::mpl::l_iterboost::mpl::list3<Formatter<int, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<15> >, boost::mpl::l_iterboost::mpl::list2<Formatter<std::basic_string<char >, Formatter > > >::initializernode, mpl::int_<16> >, boost::mpl::l_iterboost::mpl::list1<Formatter<int > > >::initializer_node::param2_T {aka Formatter&&}’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:104:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >; Iterator = boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param_T = const Formatter >&] static int initialize(void dest, param_T operand) ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:104:24: note: no known conversion for argument 2 from ‘const LambdaType’ to ‘boost::detail::variant::make_initializer_node::apply >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializer_node::param_T {aka const Formatter >&}’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >; Iterator = boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T = Formatter >&&] static int initialize(void dest, param2_T operand) ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: no known conversion for argument 2 from ‘const LambdaType’ to ‘boost::detail::variant::make_initializer_node::apply >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializer_node::param2_T {aka Formatter >&&}’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:149:17: note: candidate: static void boost::detail::variant::initializer_root::initialize() static void initialize(); ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:149:17: note: candidate expects 0 arguments, 2 provided /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >; Iterator = boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T = Formatter >&&] static int initialize(void dest, param2_T operand) ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: no known conversion for argument 2 from ‘const LambdaType’ to ‘boost::detail::variant::make_initializer_node::apply >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializer_node::param2_T {aka Formatter >&&}’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:104:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >; Iterator = boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param_T = const Formatter >&] static int initialize(void dest, param_T operand) ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:104:24: note: no known conversion for argument 2 from ‘const LambdaType’ to ‘boost::detail::variant::make_initializer_node::apply >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializer_node::param_T {aka const Formatter >&}’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<3> >, boost::mpl::l_iterboost::mpl::list14<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<4> >, boost::mpl::l_iterboost::mpl::list13<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<5> >, boost::mpl::l_iterboost::mpl::list12<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<6> >, boost::mpl::l_iterboost::mpl::list11<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<7> >; Iterator = boost::mpl::l_iterboost::mpl::list10<Formatter<ComplexType, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param2_T = Formatter&&] static int initialize(void dest, param2_T operand) ^ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:115:24: note: no known conversion for argument 2 from ‘const LambdaType’ to ‘boost::detail::variant::make_initializer_node::apply >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<3> >, boost::mpl::l_iterboost::mpl::list14<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<4> >, boost::mpl::l_iterboost::mpl::list13<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<5> >, boost::mpl::l_iterboost::mpl::list12<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<6> >, boost::mpl::l_iterboost::mpl::list11<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<7> >, boost::mpl::l_iterboost::mpl::list10<Formatter<ComplexType, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializer_node::param2_T {aka Formatter&&}’ /home/lz/桌面/code/scheme/sys/boost/variant/detail/initializer.hpp:104:24: note: candidate: static int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void, boost::detail::variant::make_initializer_node::apply::initializer_node::param_T) [with BaseIndexPair = boost::mpl::pair >, boost::mpl::l_iterboost::mpl::list17<Formatter<int, Formatter >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<1> >, boost::mpl::l_iterboost::mpl::list16<Formatter<Wrapper<char >, Formatter >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<2> >, boost::mpl::l_iterboost::mpl::list15<Formatter<Wrapper<bool >, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<3> >, boost::mpl::l_iterboost::mpl::list14<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<4> >, boost::mpl::l_iterboost::mpl::list13<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<5> >, boost::mpl::l_iterboost::mpl::list12<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<6> >, boost::mpl::l_iterboost::mpl::list11<Formatter<int, Formatter, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > > >::initializernode, mpl::int_<7> >; Iterator = boost::mpl::l_iterboost::mpl::list10<Formatter<ComplexType, Formatter, Formatter, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter, Formatter, Formatterstd::basic_string<char >, Formatter > >; boost::detail::variant::make_initializer_node::apply::initializer_node::param_T = const Formatter&] static int initialize(void dest, param_T operand) ^

答案:

Formatter_type类是一个boost::variant< Formatter, Formatter , …>,FMT函数接受一个boost::variant类型变量,生成一个Formatter_type对象。在Formatter_type中漏了一个LambdaType的参数,导致LambdaType无法专程Formatter