«Недопустимая блокировка» на примере монстров YAML в yaml-cpp - PullRequest
2 голосов
/ 07 февраля 2012

Я запускаю найденный пример здесь , чтобы попробовать использовать YAML в C ++. Я дословно скопировал код в test.cpp в новой папке проекта. Я скомпилировал YAML в статическую библиотеку и связываю ее с моим проектом. Я использую Ubuntu 11.10. Я использую следующую команду для компиляции:

    g++ -Wall -I. -g test.cpp -lyaml-cpp -L.

Я получаю следующее сообщение об ошибке:

    terminate called after throwing an instance of 'YAML::ParserException'
       what(): yaml-cpp: error at line 4, column 2: illegal block entry
    Aborted

Что означает это исключение? А что может быть не так? Я не мог найти четкую документацию для того, что могло бы означать каждое из исключений, поэтому даже ссылка на эту информацию была бы полезной. Я, вероятно, не в себе, так как я новичок в YAML, использую библиотеки и Linux в этом отношении. Заранее спасибо за помощь.

Редактировать: ошибка возникает перед "parser.GetNextDocument (doc)". Кроме того, я запустил более простой пример с веб-сайта, который хранит один скаляр, и он работал нормально. Исключение составляет мой входной файл или мой код?

1 Ответ

1 голос
/ 08 февраля 2012

Ошибка указывает на проблему с входным файлом (monsters.yaml).Убедитесь, что вы скопировали точно .Он утверждает, что в строке 4, столбце 2 есть ошибка, поэтому вы можете сначала посмотреть на это место (но yaml-cpp не подходит для определения местоположения ошибок, поэтому, возможно, это не то место, на которое нужно смотреть).

Что нужно знать о:

  • пробелах, а не символах табуляции
  • правильное количество пробелов для отступа
...