我有一个用于存储传感器数据的简单类,可以概括为
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,这很好,尽管依赖它似乎有点骇人听闻。然而,更重要的是,如果没有在某个地方初始化它,链接器就会抱怨未定义的引用。