我最近接触了编程世界和C语言。
当我尝试使用math.h库中的pow函数进行一些计算时,我遇到了一个难以理解的概念。
当我将两个变量x和i作为参数传递给pow函数,这两个变量均声明为整数时,我的IDE(Visual Studio 2012)报错:
“more than one instance of overloaded function “pow” matches the argument list" :
Function “pow(double _X, int _Y)”
Function “pow(float _X , int _Y)”
Function “pow(float _X , int _Y)”
Function “pow(long double _X, int _Y)”
Argument types are ( int, int ).
我知道pow函数返回一个double值,但如果你只需要使用整数怎么办?为什么不能将函数的返回值存储到声明的变量中作为double,并将两个整数作为参数?
在Stack Overflow找不到相关信息时,我在Wikipedia上搜索时发现,对于函数重载,唯一给出的定义是以下内容:
“函数重载或方法重载是各种编程语言(如Ada、C++、C#、D和Java)中的一种特性,允许创建几个具有相同名称但在函数的输入和输出类型上有所不同的方法。简单地定义为一个函数能够执行不同的任务。”
函数重载是什么,它如何影响我尝试实现的这个特定函数的行为?
如果问题太琐碎或被解答,或者我错过了显而易见的拼图,请提前谅解。