不行,C++中 數(shù)組和枚舉都是不可以作為函數(shù)的返回類型來返回的,假如您想要實現(xiàn)返回數(shù)組,您可以聲明一個結(jié)構(gòu),里面包含數(shù)組或者枚舉類型,然后返貨這個結(jié)構(gòu)類型或者指針
成都創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元多倫做網(wǎng)站,已為上家服務(wù),為多倫各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
曾經(jīng)有本很經(jīng)典的書就笑談到(貌似是《C++primer puls》):C和C++不允許返回數(shù)組卻可以返貨帶數(shù)組的結(jié)構(gòu)體,這不是自己打自己巴掌么...
返回數(shù)組是不行的(用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兩個結(jié)果
printf("a=%d,b=%d,c=%d",a,b,c);//輸出結(jié)果是“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]);
}
}
運行后數(shù)組各值加1