struct X {
constexpr static char a1[] = "hello"; // Okay
constexpr static const char* a2[] = {"hello"}; // Error
};
int main(){}
compilación con gcc da el error:Error con constexpr (gcc) - Error: un inicializador corsé-adjunto no está permitido aquí antes '{' token de
error: a brace-enclosed initializer is not allowed here before '{' token
Es este un uso ilegal de constexpr ?
EDITAR
he intentado 3 diferentes versiones de gcc, y se compilan en la más reciente 4.7.0 tengo (me acaba de descargar, lo estoy usando MinGW-W64), por lo que parece ser un error solucionado (¡un enlace al error sería bueno!).
4.7.0 20120311 (prerelease) // Okay
4.6.4 20120305 (prerelease) // Error
4.7.0 20110829 (experimental) // Error
@BenjaminLindley: descargué una versión más nueva y funcionó, por lo que parece ser un error solucionado (ver mis ediciones). ¡Gracias! (¿Debo eliminar esta pregunta?) –
@Jesse: prefiero dejar la pregunta aquí (aunque, si es posible, mejorar el título, por ejemplo, agregar el mensaje de error). De esta forma, la próxima persona que tenga este problema sabrá actualizar. –