以下这段代码
_variant_t TheValue;
OpenRecordSet( SQL, m_pRecordSetptr, m_ConnectionString );
while( !((*m_pRecordSetptr)->EOF) )
{
TheValue = (*m_pRecordSetptr)->GetCollect( "MARC_ID" );
if( TheValue.vt!= VT_NULL )
{
pResult.AddEntry( (char* )_bstr_t( TheValue ) );
}
(*m_pRecordSetptr)->MoveNext();
}
编译的时候总是报错:
f:\Z3950server\DBSEARCH\Srv020.CPP(283) : error C2039: 'm_pRecordSetptr' : is not a member of '_Recordset'
f:\Z3950server\DBSEARCH\Srv020.CPP(300) : error C2039: 'TheValue' : is not a member of '_Recordset'
这里的'm_pRecordSetptr'明明是我的CLASS内定义的一个成员变量。

解决方案 »

  1.   

    确定是用“(*m_pRecordSetptr)->”,不是m_pRecordSetPtr->吗?
      

  2.   

    是不是有的地方这样写了
    _Recordset-〉m_pRecordSetptr
    仔细检查一下,这里看不出来错误
      

  3.   

    如果我写成m_pRecordSetPtr->,他就告诉我说GetCollect不是它的成员。另外,类似的代码,在我的这个工程的另外一个CPP里面编译完全正确。就是这里死活怎么改就跟我说错。本来想把程序全贴出来的。但是有1500行,不可能啊。我感觉是作用域的问题。以前也碰上过,不知道怎么就改对了,这回又碰上了,搞不定了。
      

  4.   

    _variant_t TheValue; 定义在switch 里面?
      

  5.   

    这里没有switch。都是写成的函数是用switch调用的。