error C2227: “->QueryInterface”的左侧必须指向类/结构/联合

80 篇文章 2 订阅
66 篇文章 1 订阅

问题:ado编程 编译时发现QueryInterface”的左边必须指向类/结构/联合/泛型类型 

错误:

e:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(850) : error C2227: “->QueryInterface”的左侧必须指向类/结构/联合
        类型是“const char *”
        e:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(91) : 参见对正在编译的函数模板实例化“HRESULT _com_ptr_t<_IIID>::_QueryInterface<_InterfaceType*>(_InterfacePtr) throw()”的引用
        with
        [
            _IIID=_com_IIID<ADODB::_Connection,& _GUID_00000550_0000_0010_8000_00aa006d2ea4>,
            _InterfaceType=const char,
            _InterfacePtr=const char *
        ]
        e:\savedbbyxml0824\ccarddlg\bjoacasedlg.cpp(3497) : 参见对正在编译的函数模板实例化“_com_ptr_t<_IIID>::_com_ptr_t<const char>(_InterfaceType *)”的引用
        with
        [
            _IIID=_com_IIID<ADODB::_Connection,& _GUID_00000550_0000_0010_8000_00aa006d2ea4>,
            _InterfaceType=const char
        ]
        e:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\atlsimpcoll.h(442) : 编译类模板成员函数“void ATL::CSimpleMap<TKey,TVal,TEqual>::InternalSetAtIndex(int,const TKey & ,const TVal & )”时
        with
        [
            TKey=LPTSTR,
            TVal=LPOLESTR,
            TEqual=ATL::CExpansionVectorEqualHelper
        ]
        e:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\statreg.h(85) : 参见对正在编译的类模板实例化“ATL::CSimpleMap<TKey,TVal,TEqual>”的引用
        with
        [
            TKey=LPTSTR,
            TVal=LPOLESTR,
            TEqual=ATL::CExpansionVectorEqualHelper
        ]

原因:这里是错误的根源,但不是起源。应该是你自己写的某条语句不正确,导致编译时出现模版类中的编译错误。需要把(最近)代码屏蔽,排查。

我的代码原因是:代码(bjoacasedlg.cpp(3497))把字符串传给了ADODB::_ConnectionPtr _pConnection类型参数

参考:http://bbs.csdn.net/topics/370055822


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值