#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.