智能指针问题,为什么我的指针移动出错?(附部分代码)高分求解

strawren 2004-02-20 04:58:22
我的接口 Test 申明两个函数:
initialtest(),和movenext();

CTest 类实现接口 Test
class ctest
{
public:
_RecordSet *m_pRec;//想通过它指向智能指针,以便使用它

//实现接口方法,其中智能指针在initialtest()中产生。
initialtest()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
_ConnectionPtr pCon(__uuidof(Connection));
pCon->Open(_T("Provider=SQLOLEDB.1;Data Source=***;Initial

Catalog=**"),_T("sa"),_T(""),adOpenUnspecified);
_CommandPtr pCmd(__uuidof(Command));
pCmd->ActiveConnection=pCon;
CString cmdStr;
cmdStr.Format("select * from test");
pCmd->CommandText=cmdStr.operator LPCTSTR();
_RecordsetPtr pRec(__uuidof(Recordset));
pRec->PutRefSource(pCmd);
_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
pRec->Open(vNull,vNull,adOpenDynamic,adLockOptimistic,adCmdText);

m_pRec=pRec;//注意这里,我想在其他地方使用这个pRec
m_pRec->MoveNext();//移动指针没问题
return S_OK;
}
movenext()
{
m_pRec->MoveNext();//移动报错~~~~~~~~
}

各位老兄,我想知道智能指针为什么不能申明为类的成员变量,只能在函数中申明?是不是我不了解它

,还是怎么回是?但我想能在其他地方控制它,我该如何办呢?
注:智能指针在数据成员中这样申明:_ConnectionPtr pCon(__uuidof(Connection));好象通不过编译

。为什么?
紧急问题,高分求解!
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧