我一直在阅读 Herb Shutter 的“Exceptional C++”,“Item 1 : #define or const and inlining [...]”。
据说类内初始化只允许用于整数类型(整数、字符、布尔值)并且只允许用于常量。
我只想知道为什么不能在类声明中初始化 double/float。有什么具体原因吗?
class EngineeringConstants { // this goes in the class
private: // header file
static const double FUDGE_FACTOR;
...
};
// this goes in the class implementation file
const double EngineeringConstants::FUDGE_FACTOR = 1.35;
我只想知道不允许以下声明的原因:
class EngineeringConstants { // this goes in the class
private: // header file
static const double FUDGE_FACTOR = 1.35;
...
};
?