Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Boost.Spirit.Qi не работает пример, пример внутри поста не работет, помогите 
V
    Опции темы
NumLock
Дата 19.4.2011, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 30.7.2006
Где: Иркутск

Репутация: нет
Всего: нет



В общем, суть такова. Второй день пытаюсь разобраться со спиритом и не понимаю, почему не работает нижеприведенный код. Сообщения компилятора на мысль не наталкивают. Сделано все, вроде, "по учебнику".

Код

#include <vector>
#include <string>
#include <boost/spirit/include/qi.hpp>

namespace qi = boost::spirit::qi;
namespace ascii = boost::spirit::ascii;

template <typename Iterator>
struct my_grammar : qi::grammar<Iterator, std::vector<std::string>, ascii::space_type >
{
    my_grammar() : my_grammar::base_type<start>
    {
        start = "[\\" >> ascii::string[cout << _val] >> "\\]";
    }
    
    qi::rule<Iterator, std::vector<std::string>(), ascii::space_type> start;
};

int
main(int argc, char* argv[])
{
    std::string text = "\\[ tra-ta-ta \\]";
    my_grammar<std::string::iterator> gram;
    qi::parse(text.begin(), text.end(), gram, ascii::space);
    return 0;
}

PM MAIL ICQ Skype Jabber   Вверх
NumLock
Дата 19.4.2011, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 30.7.2006
Где: Иркутск

Репутация: нет
Всего: нет



Исправил
Код

... base_type<start>

на
Код

... base_type(start)


Не помогло.
PM MAIL ICQ Skype Jabber   Вверх
NumLock
Дата 20.4.2011, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 30.7.2006
Где: Иркутск

Репутация: нет
Всего: нет



Поговорил сам с собой.  smile 

Если кому интересно, то дело было в том, что 9-ой строке нужны были скобки после 
Код

std::vector<std::string>
.
PM MAIL ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0643 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.