void GetString(CPtrArray *DnsStr,CString str)
{
int num = 0;
int oldnum = 0;
int len = str.GetLength();
int i = 0;
while(1)
{
num = str.Find(",",oldnum+1);
if(i == 0)
DnsStr.add(str.Mid(oldnum,num-oldnum));
else 
if(num == -1)
DnsStr.add(str.Mid(oldnum+1,len-oldnum));
else
DnsStr.add(str.Mid(oldnum+1,num-oldnum-1));
// MessageBox(NULL,str,NULL,MB_OK);
oldnum = num;
i ++;
if(num == -1)
return;
}
}这里的DnsStr.add会出错,是不是我用错了,还是怎么回事?

解决方案 »

  1.   

    DnsStr.add(...)

    DnsStr->add(...)
      

  2.   

    回复人: pomelowu(羽战士) ( ) 信誉:144  2005-04-28 15:09:00  得分: 0  
     
     
       DnsStr.add(...)

    DnsStr->add(...)
      
     同样不行呀,郁闷
      

  3.   

    错误来了
    --------------------Configuration: MagMsg - Win32 Debug--------------------
    Compiling...
    MagMsgDlg.cpp
    e:\share\magmsg\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
    E:\share\MagMsg\MagMsgDlg.cpp(196) : error C2228: left of '.add' must have class/struct/union type
    E:\share\MagMsg\MagMsgDlg.cpp(199) : error C2228: left of '.add' must have class/struct/union type
    E:\share\MagMsg\MagMsgDlg.cpp(201) : error C2228: left of '.add' must have class/struct/union type
    Error executing cl.exe.MagMsg.exe - 3 error(s), 1 warning(s)
      

  4.   

    DnsStr.add(str.Mid(oldnum,num-oldnum));
    ---------------------------------------
    DnsStr.Add((CObject*)&str.Mid(oldnum,num-oldnum));
      

  5.   

    E:\share\MagMsg\MagMsgDlg.cpp(196) : error C2228: left of '.add' must have class/struct/union type
    E:\share\MagMsg\MagMsgDlg.cpp(199) : error C2228: left of '.add' must have class/struct/union type
    E:\share\MagMsg\MagMsgDlg.cpp(201) : error C2228: left of '.add' must have class/struct/union type____________________
    如果按我说的改,报什么错?这几个error都是因为你在指针后面用.而不是->来引用成员函数造成的