读书人

C++ 指针操作有关问题求解答

发布时间: 2013-01-08 14:02:13 作者: rapoo

C++ 指针操作问题,求解答!
int* getIntArray()
{
int* mIntArray = new int[5];
return mIntArray;
}
在另外一个地方调用这个方法:
int* mArray = getIntArray();
然后删除,
if(mArray != NULL)
{
delete []mArray;
mArray = NULL;
}

请问这样的写法有什么错误?
为什么delete的时候会报错啊?
[解决办法]
我在vs2010里试了一下 没有报错
[解决办法]
会错吗?C++ 指针操作有关问题,求解答
[解决办法]
语法没有错
我在想你是不是有这样的过程:
int* pArray = getIntArray();

在另外一个地方有
pArray1 = pArray;

然后你将pArray delete了,又想delete pArray1。(由于你delete pArray1后将pArray = NULL,但是此时pArray1 是不等于NULL的)
这样子就报错了。就是重复delete。

以上纯属猜测...如有雷同纯属巧合。

LZ最好把代码贴出来吧...
[解决办法]
就用法来说是没有问题的,楼主报错的应该是其他问题。

读书人网 >C++

热点推荐