Семантические действия Boost spirit, boost::bind и Visual Studio 2015

#c #visual-studio #boost-spirit #boost-bind

#c #visual-studio #boost-spirit #boost-привязка

Вопрос:

В старой версии VisualStudio я использую семантические действия в грамматической структуре в этом режиме:

 boost::bind(amp;asmGrammar::do_comment, this, qi::_1);

//

void do_comment(stringamp; s) {/*...*/ }
  

Но этот код не работает в Visual Studio 2015.
Почему?

Комментарии:

1. Вы уверены, что это не так boost::phoenix::bind ?

2. @jv_ Теперь я попытался явно использовать boost ::Phoenix::bind, но у меня такая же проблема. Мой компилятор возвращает ошибку: ошибка C2672 ‘boost ::phoenix ::bind’: не соно состояние trovate функции при перегрузке corrispondenti (ошибка C2672 ‘boost :: phoenix :: bind’: не были найдены при перегрузке соответствующих функций)

3. Вы включили соответствующие заголовки? ( boost/spirit/include/phoenix.hpp например)

4. Также возможно, что вы использовали boost::bind , но _1 не с заполнителем qi::_1 (это работает только с Phoenix).

5. @ClaudioLaRosa phoenix::bind, а не boost::bind.