扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
不行,C++中 数组和枚举都是不可以作为函数的返回类型来返回的,假如您想要实现返回数组,您可以声明一个结构,里面包含数组或者枚举类型,然后返货这个结构类型或者指针
成都创新互联自2013年起,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元多伦做网站,已为上家服务,为多伦各地企业和个人服务,联系电话:18980820575
曾经有本很经典的书就笑谈到(貌似是《C++primer puls》):C和C++不允许返回数组却可以返货带数组的结构体,这不是自己打自己巴掌么...
返回数组是不行的(用malloc分配倒是可以但不安全),但你的要求却可以达到,那就是用指针
比如,输入a,返回b和c:
void fun(int a, int *pb, int *pc)
{
*pb = a - 1;
*pc = a + 1;
}
int main()
{
int a = 1;
int b, c;
fun(a, b, c);//输入a返回b=a-1,c=a+1两个结果
printf("a=%d,b=%d,c=%d",a,b,c);//输出结果是“a=1,b=0,c=2”
return 0;
}
可以的,用指针做返回值
int * array(int *a){
for(i=0;i10;i++){
a[i]++;
}
return a;
}
main(){
int *p,i;
int a[10]={1,2,3,4,5,6,7,8,9,0};
p=array();
for(i=0;i10;i++){
printf("%d ",p[i]);
}
}
运行后数组各值加1
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流