我注意到C++不會編譯以下內容:爲什麼我不能在類中使用非整型靜態const成員?
class No_Good {
static double const d = 1.0;
};
然而,將愉快地允許一個變型,其中雙改變爲整型,無符號,或任何整數類型:
我的解決辦法是改變它讀取:
class Now_Good {
static double d() { return 1.0; }
};
和身影,編譯器會聰明地內嵌在必要......但它給我留下CUR欠條。
爲什麼C++設計器允許我靜態const int或unsigned,但不是double?
編輯:我在Windows XP上使用visual studio 7.1(.net 2003)。
EDIT2:
問題已經回答了,但完成,錯誤我看到:
error C2864: 'd' : only const static integral data members can be initialized inside a class or struct
什麼編譯器/平臺,或者你看到它的倍數? – warren 2008-12-16 02:04:11
你在VS7.1中收到什麼錯誤信息? – 2008-12-16 02:10:13