[C con Clase] error al compilar c devc++

Salvador Pozo salvador en conclase.net
Mar Dic 16 08:59:45 CET 2014


El pasado 2014-12-16 04:38:19, electromancpp escribió:

e>  baz = new Rectangle[2] { {2,5}, {3,6} };
e> este codigo pertenece al sitio www.cplusplus.com. en el tema Clases I
e> y alcompilarlo con devc++ da un error en esa ultima linea. baz= new
e> Rectangle[2]....
e> es el compilador ke no soporta esa sintaxis ?

Seguramente algo de eso hay.

Esta sintaxis, que permite inicializar objetos a partir de una lista de valores, es una de las nuevas características de C++11, el último estándar de C++.

Según qué compilador uses, tendrás que activar las opciones necesarias para que se compilen adecuadamente.

En la versión que uso actualmente de Code::Blocks, que usa el compilador GNU GCC, estas opciones están activas por defecto. En versiones anteriores había que activarlas manualmente.

Si tu compilador es más antiguo, (y con toda probabilidad el que usa Dev-C++ lo es), es posible que ni siquiera estén disponibles esas opciones.

En el caso particular del compilador que usa Code::Blocks por defecto, las opciones son -std=c++11 o -std=gnu++11.

Puedes activarlas en las opciones del compilador, dentro de las opciones de construcción (Build options).

Te recomiendo que consigas un compilador actualizado, que soporte las nuevas características de C++11, o al menos tantas como hayan sido implementadas.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Blog con Clase: http://blogconclase.wordpress.com
Con Clase: http://conclase.net


Más información sobre la lista de distribución Cconclase