C++ Primer(第5版) 练习 7.58
练习 7.58 下面的静态数据成员的声明和定义有错误吗?请解释原因。
//example.h
class Example{public:static double rate = 6.5;static const int vecSize = 20;static vector<double> vec(vecSize);
};//example.C
#include "example.h"
double Example::rate;
vector<double> Example::vec;
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
//example.h
class Example{public://类的静态成员如果在类内初始化必须是字面值常量类型static constexpr double rate = 6.5;static const int vecSize = 20;//类的静态成员不应该在类内初始化static vector<double> vec;
};//example.C
#include "example.h"
constexpr double Example::rate;
vector<double> Example::vec(Example::vecSize);