今日download工程的奇怪問題error C2039: 'readStdErr' : is not a member of 'Programer',

一個詭異的問題,搞了一個半小時。

昨日把download工程下的,ide_programmer.h和ide_programmer.cpp都引用了gatekeeper工程下的文件,

並在本工程中排除了download工程下測試用的ide_programmer.h和ide_programmer.cpp,

結果今天一早晨調試一直出奇怪的毛病:

在頭文件中新加入的成員變量和成員函數都無法識別,

在該類的cpp文件使用時提示error C2039: 'readStdErr' : is not a member of 'Programer',

讓人十分迷惑不解

最初懷疑是預編譯命令的#ifdef包含錯了位置,把“{”“}”等包含的程序段括錯了位置,

後來排除該想法。

 

最後懷疑工程出現了問題,於是重新unload工程,load工程,並且把該目錄下的臨時ide_programmer.h和ide_programmer.cpp都從目錄中刪掉,

編譯正常了。

 

 

 略一思索,問題終於搞清楚了,因爲工程編譯時默認先搜索工程目錄下的.h頭文件,而我把臨時測試用的ide_programmer.h放在了工程目錄下,雖然已經從工程中排除,

但是vc2005中貌似仍然找到了該頭文件,於是造成在打開的.cpp文件(引用自gatekeeper工程)中新定義使用的變量和成員方法都提示C2039錯誤。

 

問題解決:D 詭異只是表象,恩呢。提示以後碰到問題,不要只從程序代碼層面考慮,而應該把思路拓寬些,

 

最近需要對vc的工程和解決方案管理做個深入的學習提高

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