LNK2005與頭文件中的全局常量

最近在VS2005工程中的一個頭文件中定義了一些全局常量
const char* SOME_CONST = "CONST_NAME";
const int DEFAULT_CONST_VALUE =1;

SOME_CONST對象出現LNK2005錯誤,DEFAULT_CONST_VALUE卻沒有報錯。

頭文件加了編譯保護,因爲有命名空間,也不是名稱衝突,更不是第三方庫。論壇主流解釋vcleaner博客的傳送門。

後來發現VS的錯誤信息中把SOME_CONST類型解釋爲

const char * const

和聲明明顯不符。

參看其他項目中的頭文件,常量字符串都聲明爲

const char * const

再次編譯無措。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章