me di cuenta de C++ no se compilará el siguiente:¿Por qué no puedo tener un miembro de estást estático no integral en una clase?
class No_Good {
static double const d = 1.0;
};
Sin embargo, permitirá que felizmente una variante en la que se cambia el doble a un int, sin firmar, o cualquier tipo integral:
Mi solución era alterar para que se lea:
class Now_Good {
static double d() { return 1.0; }
};
y averiguar que el compilador será lo suficientemente inteligente como para inline cuando sea necesario ... pero me dejó CUR io.
¿Por qué los diseñadores de C++ me permitirían crear const an int o unsigned, pero no un double?
Editar: Estoy usando visual studio 7.1 (.net 2003) en Windows XP.
Edit2:
pregunta ha sido contestada, pero para la finalización, el error que estaba viendo:
error C2864: 'd' : only const static integral data members can be initialized inside a class or struct
qué compilador/plataforma, o lo ves en múltiplos? – warren
¿Qué mensaje de error está recibiendo en VS7.1? –