C++ 在表达式中使用BOOST_TYPEOF

C++ 在表达式中使用BOOST_TYPEOF,c++,boost,C++,Boost,可以在一行中完成以下操作吗 typedef BOOST_TYPEOF(generator) G; typename G::value_type next; typename BOOST_TYPEOF(generator)::value_type next; //does not compile 谢谢尝试使用mpl::identity typename mpl::identity<BOOST_TYPEOF(generator)>::type::value_type next; t

可以在一行中完成以下操作吗

typedef BOOST_TYPEOF(generator) G;
typename G::value_type next;

typename BOOST_TYPEOF(generator)::value_type next; //does not compile

谢谢

尝试使用
mpl::identity

typename mpl::identity<BOOST_TYPEOF(generator)>::type::value_type next;
typename mpl::identity::type::value\u type next;

宏可能正在扩展到一些编译器内部函数,如
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(…)
,它们不一定适合显示为嵌套的名称说明符。甚至C++0x建议的
decltype(…)
最初在
之前都是不允许的,但是在FCD中

再次感谢你。这确实管用,解释对我来说很有意义