Code Bye

指针函数问题

int * sum_series(int num,...){
	int sum=0,t;
	va_list argptr;
	va_start(argptr,num);
	for(;num;num--){
		t=va_arg(argptr,int);
		sum =sum+t;
		cout<<"t= "<<t<<",sum =  "<<sum<<endl;
	}
	va_end(argptr);
	return sum;
}

提示return sum;返回类型不符。请大神指点

你是求可变参数个数的和,返回int就行
int  sum_series(int num,...);   //函数原型改成这样
函数定义的返回int型的指针函数实际返回的却是一个int值,也可已改成return &sum;
引用 2 楼 xxl19900724 的回复:

函数定义的返回int型的指针函数实际返回的却是一个int值,也可已改成return &sum;

不可以引用一个非静态的局部变量

40分
里面定义 int sum*

返回 sum*

int* pSum = new int(0);
return pSum;
注意不用了要释放掉。
没有必要返回指针,看内容,直接返回int即可
谢谢各位了,我懂了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明指针函数问题