[向ganpengjin1,turingo提问] 问一个简单问题(2)如何声明一个返回数组的函数![[向ganpengjin1,turingo提问] 问一个简单有关问题(2)怎么声明一个返回数组的函数](http://img.reader8.net/uploadfile/jiaocheng/20140133/2620/2014012622200738581.png)
如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到:
1),返回数组参数a的引用或者指针?
2),如果要返回全新的数组呢?
[解决办法]
int * quick_sort(int a[])
{
return a;
}
[解决办法]
返回int*就是
全新的new了返回就是了 ,用完delete就ok
[解决办法]
可以考虑一下返回std::array
[解决办法]
[解决办法]
C++不能返回数组,数组本身又不支持赋值操作。
int a[5];
int b[5];
b = a; // c++不支持这样的操作
[解决办法]
一般的需求,你返回个数组指针就行了。
或者你用vector来代替。
[解决办法]
可以这样,其实你没必要返回值。
void quick_sort(int *a)
{
return;
}
就行了。
[解决办法]
可以返回数组的指针,但必须指定数组的大小
typedef int(Array)[10];
Array* quick_sort( Array* a )
{
return a;
}
真不如
int* quick_sort( int*a )
{
return a;
}
[解决办法]
quick_sort(int a[])传进去的参数实际上也是int*啊
int * quick_sort(int a[])
{
return a;
}
int *不是返回int指针吗?它与int[]不等同吧
那我是不是可以这样声明
如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到:
1),返回数组参数a的引用或者指针?
2),如果要返回全新的数组呢?