尝试编译包含 SQL 库的 C++ 项目并收到以下错误:
error C2664: 'CNCQuickADO::ConvertADOType' : cannot convert parameter 1 from 'ado20::DataTypeEnum' to 'DataTypeEnum'
Conversion to enumeration type requires an explicit cast
error C2664: 'CNCQuickADO::ConvertADOType' : cannot convert parameter 1 from 'ado20::DataTypeEnum' to 'DataTypeEnum'
Conversion to enumeration type requires an explicit cast
error C2872: 'DataTypeEnum' : ambiguous symbol
could be 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\dbdaoint.h : DataTypeEnum
or 'c:\amc\source\amthrottling\release\msado15.tlh : ado20::DataTypeEnum
我在其他几个项目中使用 SQL 库,没有出现这样的问题。所以我猜这一定与我包含图书馆的地方有关?
任何人都可以帮忙吗?谢谢!
最佳答案
您可能是 using namespace ado20
代码中的某个地方。要告诉编译器您想要使用全局 DataTypeEnum
类型(您可能会这样做,因为这是 CNCQuickADO::ConvertADOType()
从错误消息中判断的期望),请使用完全限定类型 ::DataTypeEnum
声明您的变量。
关于c++ - 不明确的符号 - 无法从 ado::DataTypeEnum 转换为 DataTypeEnum,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21848384/