Cómo inicializar un miembro estático
Quiero inicializar dos miembros de datos estáticos. Ver los dos archivos
// Logger.h
class Logger
{
public:
static LoggerConcrete error;
static LoggerConcrete write;
};
y
//Logger.cpp
Logger::error = LoggerConcrete(LOG_DEBUG);
Logger::write = LoggerConcrete(LOG_DEBUG);
La iniciación de los dos miembros estáticos en Logger.cpp no funciona. Recibo el siguiente error del compilador (g ++):
g ++ -O0 -g3 -Wall -c -fmessage-length = 0 -MMD -MP -MF "Logger.d" -MT "Logger.d" -o "Logger.o" "../Logger.cpp" .. /Logger.cpp:13: error: constructor esperado, destructor o conversión de tipo antes de '=' token ../Logger.cpp:14: error: constructor esperado, destructor o conversión de tipo antes de '=' token
Quiero usar Logger :: write y Logger :: error en cada clase en la que incluyo Logger.h. ¿Cómo tengo que inicializar estos dos miembros?