请问我这样使用动态数组有什么问题?(只有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;
我的这几句哪个地方有问题? 没看出来,谢谢各位兄弟们了
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];
.....
---------------------------------------------------
如果你说的是可用分的话,每天登录CSDN论坛,并至少在任一版中任一贴后跟贴(灌水)一次,这样每天就会加10分。
-----------------------------------------
CString * str= new CString[i]; //括号打错了吧
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"是作为初始化参数调用了构造函数