используя BOOST_TYPEOF в выражении - PullRequest
0 голосов
/ 02 июля 2010

Можно ли выполнить одну строку в одной строке?

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

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

спасибо

1 Ответ

2 голосов
/ 02 июля 2010

Попробуйте использовать mpl::identity

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

Макрос, вероятно, расширяется до некоторых встроенных функций компилятора, таких как __typeof__(...), которые не обязательно могут отображаться как спецификатор вложенного имени.Даже предложенный C ++ 0x decltype(...) изначально не был разрешен до ::, но есть в FCD.

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