读书人

[向ganpengjin1,turingo提问] 问一个简

发布时间: 2013-07-16 22:38:05 作者: rapoo

[向ganpengjin1,turingo提问] 问一个简单问题(2)如何声明一个返回数组的函数
[向ganpengjin1,turingo提问] 问一个简单有关问题(2)怎么声明一个返回数组的函数
如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到:
1),返回数组参数a的引用或者指针?
2),如果要返回全新的数组呢?
[解决办法]
int * quick_sort(int a[])
{
return a;
}
[解决办法]
返回int*就是
全新的new了返回就是了 ,用完delete就ok

[解决办法]
可以考虑一下返回std::array
[解决办法]

引用:
Quote: 引用:

int * quick_sort(int a[])
{
return a;
}


int *不是返回int指针吗?它与int[]不等同吧
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;
}

[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

int * quick_sort(int a[])
{
return a;


}



int *不是返回int指针吗?它与int[]不等同吧
quick_sort(int a[])传进去的参数实际上也是int*啊


那我是不是可以这样声明

如图所示,VS2010提示语法错误,我该如何声明这个函数才能做到:
1),返回数组参数a的引用或者指针?
2),如果要返回全新的数组呢?

读书人网 >C++

热点推荐