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 usaronautoen 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=0así-std=gnu++03para el último estándar antes de C ++ 11. También vale la pena mencionar que-std=c++03deshabilitará 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