请问我这样使用动态数组有什么问题?(只有10分了),现在分数不知怎样加呀?好久没变化了int i=7,j=0;
CString m_str ="test";
CString * str= new CString(i);
while(j+1<=i) 
{
   str[j]=m_str;  //循环到第二次时出现暴力访问内存地址的错误
   j++;
}
delete []str;
我的这几句哪个地方有问题?  没看出来,谢谢各位兄弟们了

解决方案 »

  1.   

    CString * str= new CString(i);??????
    =====>>>
    CString * str= new CString[i];
      

  2.   

    CString * str= new CString(i);==>CString * str= new CString[i];
    .....
      

  3.   

    现在分数不知怎样加呀?好久没变化了
    ---------------------------------------------------
    如果你说的是可用分的话,每天登录CSDN论坛,并至少在任一版中任一贴后跟贴(灌水)一次,这样每天就会加10分。
      

  4.   

    CString * str= new CString(i);
    -----------------------------------------
    CString * str= new CString[i];      //括号打错了吧
      

  5.   

    int i=7,j=0;
    CString m_str ="test";
    CString * str= new CString(i);
    while(j+1<=i) 
    {
       str[j]=m_str;  //循环到第二次时出现暴力访问内存地址的错误
       j++;
    }
    delete []str;
    上面的"CString * str= new CString(i);"有错误应该是“CString * str= new CString[i];”
    “new CString(i);”只分配了一个CString对象。"i"是作为初始化参数调用了构造函数