关于多维数组delete,我这样写会报错,请各位高手指点,谢谢
TCHAR **m_p;= new TCHAR *[m_Count];
for(int k=0; k<m_Count; k++)
{
m_p[k] = new TCHAR [128];
memset(m_p[k], 0, 128 * sizeof(TCHAR));
}。
for(int k=0; k<m_Count; k++,aaa++)
{
delete[] m_p[k]; //这里会报错,
}
delete []m_p;
TCHAR **m_p;= new TCHAR *[m_Count];
for(int k=0; k<m_Count; k++)
{
m_p[k] = new TCHAR [128];
memset(m_p[k], 0, 128 * sizeof(TCHAR));
}。
for(int k=0; k<m_Count; k++,aaa++)
{
delete[] m_p[k]; //这里会报错,
}
delete []m_p;
解决方案 »
- 编译器问题,来救救我吧
- VC 6.0 怎么老死住? 不能停止build,这是咋回事?? 只能任务管理器强行结束...
- 修改ORACLE数据库报错!
- GetOpenFileName在我机器上可以显示出来 在其他机器上没反映 都是XP
- 对bitMapInfo.bmiColors[j]赋值进入死循环。
- mdi程序中的 CMainFrame::OnLButtonDown 怎么不起作用?
- 如何在关闭单文档程序时不提示保存文件的对话框?
- 一个学生写给ibm的信!
- 如何测试堆内存大小?请给点提示!!
- Essinonal Com 里面的 聊天室的例子实用吗?
- 一个指针
- 在CTreeCtrl中, 请问如何判断用户是否选中了父结点?
分配:
CString **strFault ;
strFault = new CString*[32];
for (int m = 0; m < 32; m++)
{
strFault[m] = new CString[2];
}
删除:
for ( m = 0; m < 32; m++)
{
delete []strFault[m];
}
delete[] m_p[k]; //这里会报错,
m_p[k] = NULL; //防止出现野指针
}
delete []m_p; //这句就没必要了吧?
CString str="abcdefghi";
TCHAR **m_p;= new TCHAR *[m_Count];
for(int k=0; k <m_Count; k++)
{
m_p[k] = new TCHAR [128];
memset(m_p[k], 0, 128 * sizeof(TCHAR));
m_p[k]=str.GetBuffer; //程序里面有这句话,问题出现在这里,用这个不用new 也不用delete 了
} 。
for(int k=0; k <m_Count; k++,aaa++)
{
delete[] m_p[k]; //这里会报错,
}
delete []m_p;多写各位了,要给分了,刚来csdn 我的分不多,不知道会不会成负的,呵呵。
这个之后要
str.ReleaseBuffer()
问题很大...