c++函数声明问题
函数intsum(inta=l,intb=1,intc=3)可与下列哪个函数同时声明()A.doublesum(int);B.charsum(int,int);C.int...
函数int sum(int a=l,intb=1,int c=3)可与下列哪个函数同时声明( )
A.double sum(int); B.charsum(int,int);
C.int sum(double); D.intsum(int,int,int);
这题应该选什么,为啥?对于函数声明不是太明白 展开
A.double sum(int); B.charsum(int,int);
C.int sum(double); D.intsum(int,int,int);
这题应该选什么,为啥?对于函数声明不是太明白 展开
展开全部
C
讨论2个情况:
参数个数和类型相同,而返回类型不同(ABD的情况)
参数个数不同,返回类型相同(C的情况)
第一种情况在调用的时候并不能确定纠结是哪一个,引起歧义,所以不允许这样的函数声明。第二种情况调用的时候就能区别开。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用米暗牧的回答:
选C
sum(int a=1,int b=1,int c=1)包含了
sum(int,int,int),sum(int,int),sum(int),sum()
这四种情况,而根据一个函数的返回值是无法得知要调用哪个函数的,只能根据参数来决定,所以这道题跟返回值没关系 ,ABD都错
选C
sum(int a=1,int b=1,int c=1)包含了
sum(int,int,int),sum(int,int),sum(int),sum()
这四种情况,而根据一个函数的返回值是无法得知要调用哪个函数的,只能根据参数来决定,所以这道题跟返回值没关系 ,ABD都错
展开全部
选D 对于AB来说返回类型不同,对C来说参数不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询