C++中函数类型与定义的函数返回值类型必须相同么?
在用C++编译程序的时候看到书上面写了这么一句话“重载函数的返回类型可以相同,也可以不同”。比如下面的语句:intmyFunction(int,int);intmyFUn...
在用C++编译程序的时候看到书上面写了这么一句话“重载函数的返回类型可以相同,也可以不同”。比如下面的语句: int myFunction(int ,int); int myFUnction(long,long); int myFunction(long);他们的返回值类型都是相同的,如果把第三个改成了:double myFunction(long); 那这个还叫函数重载么?还有,假如先前已经声明了一个函数int myFUnction(long,long); 然后在定义函数时应该返回一个整型的值,可以返回其他类型的值么?比如说返回一个double类型的值。
展开
3个回答
推荐于2018-03-19
展开全部
楼上的回答有点答非所问在下通俗地补充一下:函数在返回的时候 你定义函数是什么类型就得返回什么类型 同时 当函数发生重载的时候 如果返回值的类型跟之前的函数返回只类型不同 那么依然是函数重载。也就是说,函数重载只要满足他们的参数不同(3个不同 类型 个数 顺序)就行了,对函数返回值没有限制。 另外,如果你给函数定义了一个返回值类型,在函数体里面,返回的值只能比你定义的返回值精度高,才合法 否则不合法~!例如Double 比int精度高 那么你定义int返回类型的函数int a(){...}函数体里返回一个 DOUBLE 不会出现非法操作,只会系统默认把double转换成int 因为double比int精度高 可以实现double到int的转换 这样说你懂了没有。
2013-10-27
展开全部
返回值的类型可以相同也可以不同,参数的数量或类型必须不同
就是只有返回值不同是不可以的。
就是只有返回值不同是不可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-27
展开全部
如果两个 相同作用域内的函数(比如同一个类,同一个名字空间),它们的名字、参数都完全相同,只有返回值不同——这是语法不允许的!!!而且这样的设计在实际的编程应用中,也没有任何的现实意义。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询