Я недавно был представлен в мире программирования и на языке C.Понимание концепции функциональной перегрузки при использовании функции pow
У меня возникла проблема с пониманием следующей концепции, когда я пытался использовать функцию pow из библиотеки math.h, чтобы выполнить некоторые вычисления в моем коде.
В то время как я проходил в качестве параметров военнопленный функции двух переменных, х, и я, как объявлены как целые числа, я получил ошибку из моего IDE (Visual Studio 2012) с указанием
: «более чем один экземпляр перегруженная функция «бух» совпадает со списком аргументов»:
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).
Я знаю, что функция пау возвращает двойное значение, но то, что происходит, скажем, когда вам нужно работать только с целыми числами Почему невозможно хранить? возвращаемое значение функции для объявленной переменной как двойное и имеющее два целых числа в качестве параметров?
Поиск Википедию, когда я не мог найти что-либо отношение здесь в Stack Overflow, единственное дано определение перегрузки функций заключается в следующем:
«Функция перегрузки или перегрузки методов является функция, встречающаяся в различных языках программирования, таких как Ada, C++, C#, D и Java, что позволяет создавать несколько методов с тем же именем, которые отличаются друг от друга по типу входа и выхода функции. Он просто определяется как способность одной функции выполнять разные задачи. "
Что такое функция перегрузки точно и как она влияет на поведение этой конкретной функции, которую я пытаюсь реализовать?
Извините заранее, если вопрос слишком банальный или ответили, или мне не хватает очевидной части головоломки.
Нет функции перегрузки в C. – glglgl
Начиная с C99 существует tgmath, который реализуется так называемыми типовыми макросами, которые похожи на перегрузку функций, но реализованы с различными правилами. http://pubs.opengroup.org/onlinepubs/009696699/basedefs/tgmath.h.html Это говорит о том, что OP, вероятно, компилируется с режимом C++, а не с режимом C – Brandin