int main()
{
cout<<"Enter n";
cin >> n;
int * a = new int[n];
a = foo(n);
free(a);
return -1;
}
int * foo(int n)
{
int * a = new int [n];
if(!a) // what should I return here if allocation of a fails
{}
free(a);
} 在上面的代码中,我试图从main捕获一个函数的返回值,该函数的返回类型是一个指针。但是,我是动态分配内存的。那么,如果我的内存分配失败了,我应该返回什么?任何特殊符号,如NULL。
附注-这是一个非常基本的问题,不能将我的问题形式化为任何简洁的形式,以便在谷歌上搜索。
编辑:谢谢你们所有人。我已经解决了我的问题。
发布于 2012-08-19 20:02:24
它可以返回任何值。问题是,你必须正确对待它。
https://stackoverflow.com/questions/12026276
复制相似问题