Оператор разыменования для уникального _ptr не работает в Eclipse

После выполнения шагов в этом сообщении мне удалось заставить Eclipse (Indigo )распознатьunique_ptr(и другие новые возможности C++11 ). Проблема в том, что operator->вместо unique_ptr, похоже, не поддерживается в Eclipse. Вот вам пример:

class Foo { void bar() { /*... */ } };

std::unique_ptr foo;
(*foo).bar(); // 1
foo->bar();   // 2

Кейс 1работает как положено :ошибок нет и автодополнение работает. Однако для случая 2Eclipse помечает оператор ошибкой («Метод 'bar' не может быть разрешен» ), плюс автодополнение из foo->не работает.

Самое интересное, что у меня нет проблем с std::shared_ptr. Это происходит только для std::unique_ptr.

Кто-нибудь сталкивался с такой же проблемой? Кто-нибудь знает способ исправить это?

РЕДАКТИРОВАТЬ:просто для уточнения, процесс компиляции для фрагмента кода, показанного выше, проходит нормально. Так что проблема не в самом компиляторе, а в Eclipse.

6
задан Community 23 May 2017 в 11:56
поделиться