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);