我想初始化两个静态数据成员。查看两个文件

// Logger.h

class Logger
{
    public:
        static LoggerConcrete error;
        static LoggerConcrete write;
};


//Logger.cpp

Logger::error = LoggerConcrete(LOG_DEBUG);
Logger::write = LoggerConcrete(LOG_DEBUG);

Logger.cpp 中两个静态成员的初始化不起作用。
我收到以下编译器 (g++) 错误:



我想在包含 Logger.h 的每个类中使用 Logger::write 和 Logger::error。我必须如何初始化这两个成员?

最佳答案

您需要指定类型:

LoggerConcrete Logger::error = LoggerConcrete(LOG_DEBUG);
LoggerConcrete Logger::write = LoggerConcrete(LOG_DEBUG);

10-07 23:05