现程序如下t1 = CTime(*(long *)pArray[time].GetAt(0));pArray中存放的是一个时间的数组..编译器提示error C2107: illegal index, indirection not allowed请问哪错了,原因是什么?求各位大牛不吝赐教

解决方案 »

  1.   

    pArray[time]
    索引不对,array是怎样声明的?
      

  2.   

    private:
    CPtrArray pArray[5];我是这样声明的
      

  3.   

    不好意思,解决了.我忘了给下标TIME附值了.查了半天出在这小问题上,太粗心了,感谢2位.
      

  4.   

    再检查下pArray是如何声明的?
    .GetAt(0)意为获取索引号为0的数组元素,按理前面就是CArray变量,不用再带[]。
    如下面这个示例:
    CArray<CPoint,CPoint> myArray;
    CPoint pt;// Add elements to the array.
    for (int i=0;i < 10;i++)
       myArray.Add( CPoint(i, 2*i) );// Modify all the points in the array.
    for (i=0;i <= myArray.GetUpperBound();i++)
    {
       pt = myArray.GetAt(i);
       pt.x = 0;
       myArray.SetAt(i, pt);
    }