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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage