So initialisieren Sie ein statisches Element
Ich möchte zwei statische Datenelemente initialisieren. Siehe die beiden Dateien
// Logger.h
class Logger
{
public:
static LoggerConcrete error;
static LoggerConcrete write;
};
und
//Logger.cpp
Logger::error = LoggerConcrete(LOG_DEBUG);
Logger::write = LoggerConcrete(LOG_DEBUG);
Die Initialisierung der beiden statischen Member in Logger.cpp funktioniert nicht. Ich erhalte den folgenden Compiler (g ++) Fehler:
g ++ -O0 -g3 -Wall -c -fmessage-length = 0 -MMD -MP -MF "Logger.d" -MT "Logger.d" -o "Logger.o" ../Logger.cpp ".. /Logger.cpp:13: Fehler: erwarteter Konstruktor, Destruktor oder Typkonvertierung vor '=' Token ./Logger.cpp:14: Fehler: erwarteter Konstruktor, Destruktor oder Typkonvertierung vor '=' Token
Ich möchte Logger :: write und Logger :: error in jeder Klasse verwenden, in der ich Logger.h einbinde. Wie muss ich diese beiden Mitglieder initialisieren?