尝试编译包含 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/

10-10 21:32