Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;重载函数 在C++中,您可以使用相同的参数类型重载函数,但返回类型不同吗?_C++_Function_Types_Return_Overloading - Fatal编程技术网

C++;重载函数 在C++中,您可以使用相同的参数类型重载函数,但返回类型不同吗?

C++;重载函数 在C++中,您可以使用相同的参数类型重载函数,但返回类型不同吗?,c++,function,types,return,overloading,C++,Function,Types,Return,Overloading,重载函数的思想是这样的 intfoo(intx,inty); int foo(双x,双y) 但这行得通吗? intfoo(intx,inty); 双foo(intx,inty) 如果第二种方法有效,编译器如何知道选择哪个函数?不,你不能。参数类型是C++用来决定调用哪个函数的。无论如何,你不能。至少在C++中,问题是C++完全可以简单地丢弃函数调用的值。如果你做了foo(0,0),会发生什么作为语句本身?哪一个函数会被调用?在函数完成后将其存储为int与double的方法是-返回值,可能返回更高

重载函数的思想是这样的 intfoo(intx,inty); int foo(双x,双y)

但这行得通吗? intfoo(intx,inty); 双foo(intx,inty)


如果第二种方法有效,编译器如何知道选择哪个函数?

不,你不能。参数类型是C++用来决定调用哪个函数的。无论如何,你不能。至少在C++中,问题是C++完全可以简单地丢弃函数调用的值。如果你做了foo(0,0),会发生什么作为语句本身?哪一个函数会被调用?在函数完成后将其存储为int与double的方法是-返回值,可能返回更高层次的值,然后通过将其设置为整数将其降级?@Josh-这是我的问题。我怀疑的是,正是因为这个原因,你不能,但我想确认一下。