VC++學習筆記(9)——在VC中定義外部變量

今天遇到了一個鏈接錯誤:error LNK2005: "float *" (?*@@*) already defined in already defined in *.obj

明明沒有重複定義啊,怎麼會出現這種錯誤呢?疑問

解決方案:

首先注意不能在.h頭文件中定義全局變量,否則只要其他文件包括了該頭文件,就會出現already defined in *.obj的錯誤。

應該把全局變量放在.cpp文件中定義,然後在其他文件中用到該變量時用extern聲明一下。

例如,首先在a.cpp中定義一個全局變量int  x=0;然後需要在頭文件a.h中聲明該變量extern int x;再編譯鏈接就沒有錯誤了。酷

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