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。
PS - 这是一个非常基本的问题,无法将我的问题形式化为任何简洁的形式,以便通过 Google 进行搜索。
编辑:谢谢大家。我已经解决了我的问题。