一、前言
如果定义了类内static 成员变量(不考虑const类型变量)
1、如果没有在代码里使用此变量,编译将不会出错。
2、如果在代码里使用了此变量,将会报LNK2001无法解析的外部符号错误。
由此可以初略得出类内static 成员变量(不考虑const类型变量)必须经过初始化才能使用。
二、问题
但是有另外一种情况:类内static 成员变量为类,可以在不初始化的情况下使用此变量名访问变量类内static成员函数。但是不能访问普通函数,也会报LNK2001错误。
三、可使用未初始化的类内对象的条件
此对象为类,且访问的是类内的static函数。也就是所访问的东西全都是static的。
暂时只能得到经验性的结论,不知道原因。