【发布时间】:2009-09-29 14:51:05
【问题描述】:
我想初始化两个静态数据成员。查看这两个文件
// 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++) 错误:
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Logger.d" -MT"Logger.d" -o"Logger.o" "../Logger.cpp" ../Logger.cpp:13: 错误:预期的 构造函数、析构函数或类型 '=' 标记之前的转换 ../Logger.cpp:14:错误:预期 构造函数、析构函数或类型 '=' 标记之前的转换
我想在每个包含 Logger.h 的类中使用 Logger::write 和 Logger::error。如何初始化这两个成员?
【问题讨论】:
标签: c++ static initialization