Después de seguir los pasos en this post me las arreglé para hacer que Eclipse (Indigo) reconozca unique_ptr
(y otras cosas nuevas de C++ 11). El problema es que operator->
para unique_ptr
parece no ser compatible con Eclipse. Aquí tienes un ejemplo:El operador de desreferencia para unique_ptr no funciona en Eclipse
class Foo { void bar() { /* ... */ } };
std::unique_ptr<Foo> foo;
(*foo).bar(); // 1
foo->bar(); // 2
Caso 1
funciona como se esperaba: no hay ninguna obra de error y la terminación automática. Para el caso 2
, sin embargo, Eclipse marca la declaración con un error ("Método 'barra' no se pudo resolver"), además de autocompletar de foo->
no funciona.
Lo más interesante es que no tengo ningún problema con std::shared_ptr
. Solo ocurre para std::unique_ptr
.
¿Alguien ha tenido el mismo problema? ¿Alguien sabe una forma de solucionarlo?
EDIT: solo para aclarar, el proceso de compilación va bien para el fragmento de código que se muestra arriba. Entonces, el problema no está en el compilador en sí, sino en Eclipse.
@dirk: la pregunta es sobre el autocompletado y la selección de pelusa estática en el IDE; sin mención de problemas de compilación. – Rook
@dirkgently Estoy usando g ++ 4.6, por lo que la compilación va bien. El problema solo afecta a Eclipse. – betabandido
@Rock: Correcto. Me perdí ese poco. – dirkgently