Неправильный токен Netbeans C ++ Macro: {с макросом из библиотеки PEGTL

Я наткнулся на некоторое поведение, которое происходит в сочетании с библиотекой C ++ 11 PEG PEGTL. К сожалению, я не способен воспроизвести это поведение вне функции / шаблонов библиотек. Это произошло с Netbeans

Минимальный пример будет выглядеть так:

include <tao/pegtl.hpp>
using namespace tao::TAOCPP_PEGTL_NAMESPACE;

struct foo : istring<'f','o','o'> {};
struct bar : TAOCPP_PEGTL_ISTRING("foo") {};
struct foo2 : istring<'f','o','o'> {};

TAOCPP_PEGTL_ISTRING — это макроопределение, которое расширяется до istring<>, поэтому TAOCPP_PEGTL_ISTRING («foo») совпадает с istring<‘Е’, ‘о’, ‘о’>.
GCC не имеет проблем с этим, но как только я пытаюсь использовать этот макрос, он говорит

unexpected token: {
unexpected token: }
unknown identifier bar

и каждая следующая строка тоже получает ошибки.

  • линия struct foo в порядке
  • линия строки структуры, где происходит ошибка
  • struct foo2 будет в порядке, но поскольку строка struct bar сгенерировала ошибку, она также отображает ошибку

выделенная ошибка

выделенное окно сообщения об ошибке

Вот информация о моей Системе / Netbeans:

Product Version: NetBeans IDE 8.2 (Build 201609270201)
Updates: NetBeans IDE is updated to version NetBeans 8.2 Patch 2
Java: 1.8.0_101; Java HotSpot(TM) 64-Bit Server VM 25.101-b13
Runtime: Java(TM) SE Runtime Environment 1.8.0_101-b13
System: Linux version 4.13.0-36-generic running on amd64; UTF-8; en_US (nb)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]