我有一个简单的类用于存储传感器数据,可以概括为:
class Data
{
public:
Data(){timestamp = Time::now(); id = sNextID++; data = 0; type = DATA_TYPE_UNKNOWN;}
double data;
Time timestamp;
DataType type;
private:
static unsigned int sNextID;
};
我有一个头文件声明了一堆类似的数据类。鉴于这些类的简单性,没有必要编写实现CPP文件。
问题是,没有实现文件,如何初始化sNextID?我在某个地方读到它默认为0,这样也可以,尽管依赖于这个值有点过于hackish。更重要的是,如果不在某个地方对其进行初始化,链接器会抱怨找不到引用。