unqualified type significa que expected español error conversion before c++ g++ eclipse-cdt

type - El error de C++ ''nullptr no se declaró en este ámbito'' en el IDE de Eclipse



expected unqualified-id before '' '' token que significa (7)

¿Es un error de compilación real o un error de análisis de código? Algunas veces, el análisis del código puede ser un tanto incompleto e informar errores no válidos.

Para desactivar el análisis de código para el proyecto, haga clic con el botón derecho en su proyecto en el Explorador de proyectos, haga clic en Propiedades, luego vaya a la pestaña General de C / C ++ y luego a Análisis de código. Luego haga clic en "Usar configuración del proyecto" y deshabilite las que no desea.

Además, ¿está seguro de que está compilando con el compilador C ++ 11?

Estoy ejecutando Eclipse Helios y tengo g ++ - 4.6 instalado. Espero no estar equivocado porque g ++ 4.6 implementa las características de C ++ 11. He creado un proyecto de C ++ que utiliza las palabras clave nullptr y auto. La compilación da los siguientes errores:

../{filename}.cpp:13:13: error: ‘nullptr’ was not declared in this scope ../{filename}.cpp:14:2: warning: ‘auto’ will change meaning in C++0x; please remove it [-Wc++0x-compat]

En realidad estaba construyendo bien hasta ayer. Estoy recibiendo esto de la nada hoy. Por favor ayudame a resolver este problema.


Agrego ", -std = c ++ 0x" después de "-c -fmessage-length = 0", en Propiedades del proyecto -> Compilación C / C ++ -> Configuración -> Compilador GCC C ++ -> Misceláneo. No te olvides de agregar la coma "," como separador.


Está utilizando la versión g ++ 4.6, debe invocar el indicador -std = c ++ 0x para compilar

g ++ -std = c ++ 0x * .cpp -o salida


Finalmente descubrí qué hacer. Se agregó el argumento del compilador -std = c ++ 0x en Propiedades del proyecto -> Compilación C / C ++ -> Configuración -> Compilador GCC C ++ -> Varios. ¡Ahora funciona!

¿Pero cómo agregar esta bandera de forma predeterminada para todos los proyectos de C ++? ¿Nadie?


Probar con una versión diferente de gcc funcionó para mí - gcc 4.9 en mi caso.


Según la página de GCC para C ++ 11 :

Para habilitar el soporte de C ++ 0x, agregue el parámetro de línea de comando -std = c ++ 0x a su línea de comando g ++. O, para habilitar las extensiones GNU además de las extensiones C ++ 0x, agregue -std = gnu ++ 0x a su línea de comandos de g ++. GCC 4.7 y versiones posteriores también admiten -std = c ++ 11 y -std = gnu ++ 11.

¿ -std=gnu++0x con -std=gnu++0x ?


Vaya a Configuración -> Compilador ... Y agregue un indicador a "Haga que g ++ siga el próximo estándar de lenguaje C ++ 0x ISO C ++ [std = c ++ 0x]