编译报错:对‘Stu::times_’未定义的引用,collect2: 错误:ld 返回 1
原因:
- 因为类的声明并不会进行内存空间的分配。
- 所以类的静态成员无法在类声明中定义。
- 因此,类的静态成员需要类内声明,类外定义。并且注意定义尽量不要出现在头文件中,以免造成重复定义。
静态成员变量可以声明成private吗
可以,私有静态成员变量。
私有静态成员变量的取值和赋值,因为是private,不能在类外部访问,只能在类内进行,是不是静态成员函数都可以,一般建议用静态成员函数。但依然需要在类外去定义,否则会报错未定义的引用。
初始化才真正会申请内存,分配空间保存数据。
网友评论