出现:'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