出現:'DataTypeEnum' : ambiguous symbol 錯誤怎麼辦?

ado.h,ado.cpp等是一個ado封裝類 ,較容易使用,流傳很廣

但是在工程應用或封裝爲動態庫時經常會出現:

:error   C2872:   'DataTypeEnum'   :   ambiguous   symbol

:   error   C2872:   'ParameterDirectionEnum'   :   ambiguous   symbol  

等類似錯誤,網上給出的一些解決方法都是治標不治本,比如使用namespace ,

rename("DataTypeEnum","adoDataTypeEnum"),在DataTypeEnum前使用ADODB::域引用等.

error C2872錯誤,究其根本是該類型同名出現多個數據庫類下,所以我們只要把不需要的數據庫支持類去掉即可,經過察看stdafx.h頭文件,發現在裏面默認啓動了MFC DAO數據庫類支持,而該類裏面同時定義了與ADO類相同的枚舉類型等定義,

因此註釋掉stdafx.h裏面的dao包含文件即可:

//#ifndef _AFX_NO_DAO_SUPPORT
//#include <afxdao.h>   // MFC DAO database classes
//#endif // _AFX_NO_DAO_SUPPORT

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