После выполнения шагов в этом сообщении мне удалось заставить 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
работает как положено :ошибок нет и автодополнение работает. Однако для случая 2
Eclipse помечает оператор ошибкой («Метод 'bar' не может быть разрешен» ), плюс автодополнение из foo->
не работает.
Самое интересное, что у меня нет проблем с std::shared_ptr
. Это происходит только для std::unique_ptr
.
Кто-нибудь сталкивался с такой же проблемой? Кто-нибудь знает способ исправить это?
РЕДАКТИРОВАТЬ:просто для уточнения, процесс компиляции для фрагмента кода, показанного выше, проходит нормально. Так что проблема не в самом компиляторе, а в Eclipse.