[向ganpengjin1,turingo提问] 问一个简单有关问题(2)怎么声明一个返回数组的函数
[向ganpengjin1,turingo提问] 问一个简单问题(2)如何声明一个返回数组的函数
![[向ganpengjin1,turingo提问] 问一个简单有关问题(2)怎么声明一个返回数组的函数 [向ganpengjin1,turingo提问] 问一个简单有关问题(2)怎么声明一个返回数组的函数](/default/index/img?u=aHR0cDovL3d3dy5teWV4Y2VwdGlvbnMubmV0L2ltZy8yMDEzLzA3LzEyLzExMTA0NTI2OS5wbmc=)
如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到:
1),返回数组参数a的引用或者指针?
2),如果要返回全新的数组呢?
------解决方案--------------------
int * quick_sort(int a[])
{
return a;
}
------解决方案--------------------
返回int*就是
全新的new了返回就是了 ,用完delete就ok
------解决方案--------------------
可以考虑一下返回std::array
------解决方案--------------------
quick_sort(int a[])传进去的参数实际上也是int*啊
------解决方案--------------------
C++不能返回数组,数组本身又不支持赋值操作。
int a[5];
int b[5];
b = a; // c++不支持这样的操作
------解决方案--------------------
一般的需求,你返回个数组指针就行了。
或者你用vector来代替。
------解决方案--------------------
可以这样,其实你没必要返回值。
void quick_sort(int *a)
{
return;
}
就行了。
------解决方案--------------------
可以返回数组的指针,但必须指定数组的大小
真不如
------解决方案--------------------
如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到:
1),返回数组参数a的引用或者指针?
2),如果要返回全新的数组呢?
------解决方案--------------------
int * quick_sort(int a[])
{
return a;
}
------解决方案--------------------
返回int*就是
全新的new了返回就是了 ,用完delete就ok
------解决方案--------------------
可以考虑一下返回std::array
------解决方案--------------------
quick_sort(int a[])传进去的参数实际上也是int*啊
------解决方案--------------------
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;
}
------解决方案--------------------
int * quick_sort(int a[])
{
return a;