我的定义如下:
WordIndex=new CStringArray[18279];
CString word;
WordIndex[loc].Add(word);为什么总是提是错误: error C2039: 'Add' : is not a member of 'CString'请指点

解决方案 »

  1.   

    WordIndex.Add(word);  这么写
      

  2.   

    WordIndex[loc]的意思是第loc个元素,当然是CString了,而CString是没有Add成员函数的,
    WordIndex才是CStringArray类型的。
      

  3.   

    CStringArray WordIndex;使用时:
    WordIndex.SetSize(18279);CStringArray本来就是为了动态内存分配写的
    不要用new操作符
      

  4.   

    另外如果使用Add
    就不需要预先SetSize如果你想建立一个CStringArray的数组
    其逻辑应该是:
    先建立一个对象数组,可以用CObArray
    然后向CObArray中填充CStringArray指针
    下面是示例代码: CObArray aob;
    aob.SetSize(10);
    for(int i=0;i<10;i++)
    {
    CStringArray * p=new CStringArray;
    aob.SetAt(i,(CObject *) p);
    }
    ((CStringArray *)aob[0])->Add("ok"); MessageBox(((CStringArray *)aob[0])->GetAt(0));
      

  5.   

    楼上的各位,人家是想用18279各CStringArray对象的实例:CArray<CStringArray,CStringArray &> WordIndex;
    WordIndex.SetSize(18279);CString word;
    WordIndex[loc].Add(word);
      

  6.   

    CStringArray WordIndex;
    WordIndex.Add(word);这么写就可以了
      

  7.   

    CStringArray *WordIndex;
    WordIndex=new CStringArray[18279];
    CString word="苏丹发掘考虑";
    WordIndex[loc].Add(word);
    其了这么多的字符串数组,你要干嘛
      

  8.   

    如果数组是定长,可以简单地这样写:CStringArray * aastr[18279];
    for(int i=0;i<18279;i++) aastr[i]=new CStringArray;
    aastr[0]->Add("ok");
    MessageBox(aastr[0]->GetAt(0));