删除从另一个函数返回的指针指向的对象

时间:2014-09-03 22:19:21

标签: c++

一个例子,

#include<iostream>
using namespace std;
vector<int>* F()
{
    vector<int>*x=new vector<int>(3);
    x[1]=1; x[2]=2; x[3]=3;
    return x;
}

现在我要删除向量或释放x在另一个函数F1中指向的内存块,如:

bool F1(vector<int>*x)
{
    delete x; 
    return 1;
}

无论如何要实现我想要的目标吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

将您的F()功能设为

#include<iostream>
using namespace std;
vector<int> F() {
    vector<int> x;
    x.resize(4);
    x[1]=1; x[2]=2; x[3]=3;
    return x;
}

无需F1()