比如list[1]、list[2]、list[3]如果只要删除list[2],怎么做?
如果元素少的话可以把list[2]后面的值移动到前面,但是如果元素很多怎么办?

解决方案 »

  1.   

    用链表不是更麻烦吗?指针指来指去的……
    有没有其他的好办法?MFC有提供这一类函数吗?
      

  2.   

    用MFC提供的CArray模板类。或STL的list模板类。
      

  3.   

    我没学过carray,不过在用第一个笨办法的时候还出了问题:
    list[i-1].name=list[i].name;list是个结构,name是里面的成员,报告 '='错误 :
     left operand must be l-value怎么办啊?
      

  4.   

    我想你的name一定是char name[X];型
    有两种方法解决
    1把name改为CString
    2 strcpy(list[i-1].name,list[i].name);
      

  5.   

    嗯,我直接用了list[i-1]=list[i]也解决了。呵呵。