he construido MinGW del tronco-versión de GCC-4.7.0: http://code.google.com/p/mingw-builds/downloads/listno estáticos miembros de datos Inicializadores preguntas
En la descripción de los cambios de esta versión se dice que los inicializadores de miembros de datos no estáticos se implementan : http://gcc.gnu.org/gcc-4.7/changes.html
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
Cuando intento compilar un ejemplo:
#include <iostream>
#include <string>
struct type {
type()
:i(33)
{}
int i;
std::string s("string");
};
int main() {
type t;
std::cout << t.i << " : " << t.s << std::endl;
}
consigo un montón de errores, y éste es en el final:
main.cpp: 16: 35: nota: 'std :: string (tipo :: ) (int) {aka std :: basic_string (tipo ::) (int)} 'no se deriva de' const std :: basic_string < _CharT, _Traits, _Alloc> 'main.cpp: 16: 35: nota: no se pudo resolver la dirección de sobrecargado función 't.type :: s'
Pero de acuerdo con la documentación, el código es correcto.
No tengo instalado GCC 4.7 para probarlo y mi versión no admite la inicialización de miembros, pero ¿la compila con -std = C++ 0x? – Griwes
Tenga en cuenta que los inicializadores de miembros son nuevos en GCC 4.7, por lo que debería ser un error simple del compilador. –
a Griwes: sí. – niXman