添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

问题: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

问题:ado编程 编译时发现QueryInterface”的左边必须指向类/结构/联合/泛型类型 错误:e:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(850) : error C2227: “->QueryInterface”的左侧必须指向类/结构/联合        类型是“const c
开发环境:Qt 5.6.1 (MSVC 2013, 32 bit) 我写了如下代码:GetUserFaceDialog dialog(); dialog.exec();GetUserFaceDialog的定义如下: class GetUserFaceDialog : public QDialog Q_OBJECT public: explicit GetUserFaceD
如果不想犯下面错误最好的做法是,先把每一个类都定义好后,再写函数实现部分(本例中将void A::funcA(B* inB)就放到了最后实现),写在前面的类,需要使用后面的类的时候只需要声明一下(像本例中的class B;放在A类前一样),但使用的时候只能是以指针的形式出现!  注:其实把访问放到实现文件(CPP)中会自然避免这个问题,写到头文件中便不能访问成员且实现的代码也比较多,也不好实现成
1. 编译错误 error C2065: “sqlite3_api”: 未声明的标识符 error C2227: “->open”的左边 必须 指向 类/ 结构 / 联合 /泛型类型  类型是“'unknown-type'”     解决方案:         只#include "sqlite3.h",  不要#include "sqlite3ext.h"
报错信息: C:\Users\MSI-NB\Desktop\03_SignalAndSlot\SubWidget.cpp:4: error : C2533: “SubWidget::{ctor}”: 构造函数不能有返回类型 但构造函数中并没有返回类型啊?? 定义类的时候没有加 ;构造函数默认把整个类作为返回值了。 报错信息: C:\Users\MSI-NB\Desktop\03_SignalAndSlot\SubWidget.h:8: error : C2011: “SubWidge..
CoCreateInstance 是 Windows 平台下用于创建 COM 组件实例的方法,它有多个参数,其中最重要的是 CLSID 和 IID,分别对应组件的类标识符和接口标识符。在 C 语言中,可以通过以下方式封装 CoCreateInstance 方法: #include <windows.h> HRESULT CreateInstance(REFCLSID rclsid, REFIID riid, LPVOID *ppv) HRESULT hr; IUnknown *pUnk = NULL; hr = CoCreateInstance(rclsid, NULL, CLSCTX_INPROC_SERVER, riid, (LPVOID *)&pUnk); if (SUCCEEDED(hr)) hr = pUnk->lpVtbl->QueryInterface(pUnk, riid, ppv); pUnk->lpVtbl->Release(pUnk); return hr; 其中,REFCLSID 和 REFIID 是 指向 CLSID 和 IID 的常量指针,LPVOID *ppv 是一个二级指针,用于返回创建的组件实例的指针。函数内部先通过 CoCreateInstance 方法创建一个 IUnknown 接口的指针,然后再通过 QueryInterface 方法获取实际需要的接口指针,并释放 IUnknown 接口指针。最后返回创建结果。
qnmdb111: 不包含多个属性呢? var result = node.SelectNodes(".//span[not(contains(@class,'expire'))]"); 不包含的class还有其他多个呢? C++显示Gif图片(转) Grey.R: 这个感觉就是pictureEx的代码 麒麟系统安装python3(转) dragoo1: ?第四步是编译c代码,你具体是报的什么错误? 麒麟系统安装python3(转) 九川melody: 第四步执行的时候说没有python解释器怎么办 All TAP-Windows adapters on this system are currently in use My fxl: 果然一点波就接通