Parece que en Ubuntu 18.04, el g ++ enviado por defecto (versión 7.3.0) se ejecuta en modo compatible con C ++ 11 de forma predeterminada. Recibo algunos errores en mis códigos anteriores que no son compatibles con C ++ 11. Instalé g ++ - 6 (versión 6.4.0) y los programas se están compilando bien. ¿Es posible deshabilitar el modo C ++ 11 en g ++ - 7?
11
std::auto_ptr
, o usaronauto
en su apariencia original, o ahora tienen conversiones de estrechamiento ilegales, o usaronexport
, o, o, oRespuestas:
Intente agregar
-std=gnu++98
, probablemente fue el valor predeterminado para gcc 6.4.0.Ejemplo:
fuente
-D_GLIBCXX_USE_CXX11_ABI=0
así-std=gnu++03
para el último estándar antes de C ++ 11. También vale la pena mencionar que-std=c++03
deshabilitará algunas extensiones de GNU que son incompatibles con la estricta ISO C ++.__cplusplus
: ¿Cómo determinar la versión del estándar C ++ utilizada por el compilador?Desde el
man g++
puede seleccionar entre diferentes dialectos:fuente