Chinaunix首页 | 论坛 | 博客
  • 博客访问: 669837
  • 博文数量: 134
  • 博客积分: 3158
  • 博客等级: 中校
  • 技术积分: 1617
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-30 22:36
文章分类

全部博文(134)

文章存档

2012年(2)

2011年(28)

2010年(68)

2009年(35)

2008年(1)

我的朋友

分类: WINDOWS

2010-11-01 11:21:43

出现:'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    // MFC DAO database classes
//#endif // _AFX_NO_DAO_SUPPORT
 
阅读(1161) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~