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会出错,是不是我用错了,还是怎么回事?
--------------------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)

解决方案 »

  1.   

    俺不是高手!俺觉得应该包含Afxcoll.h头文件!
      

  2.   

    把DnsStr.改成DnsStr->给分!
      

  3.   

    要如你们所说的那么简单就好了.改成->这样也是不行的,照样出错用->插,也不行,会痛.照样出错error C2039: 'add' : is not a member of 'CPtrArray'
            c:\program files\microsoft visual studio\vc98\mfc\include\afxcoll.h(355) : see declaration of 'CPtrArray'
      

  4.   

    DnsStr->Add(...);再试一次!