В моей компании есть программное обеспечение, имеющее довольно большую кодовую базу. Недавно мне было поручено проверить, скомпилируется ли код для цели x86_64 с использованием gcc 4.1.2. Я довольно далеко продвинулся в компиляции с очень незначительными изменениями кода, но только сегодня утром я получил несколько запутанную ошибку компиляции.
Код пытается и не может вызвать pow
из <cmath>
, используя int, unsigned int&
в качестве параметров. Компилятор выдает ошибку, потому что не может найти подходящее совпадение для вызова. Перегрузки для pow
в <cmath>
следующие:
double pow(double base, double exponent)
long double pow(long double base, long double exponent)
float pow(float base, float exponent)
double pow(double base, int exponent)
long double pow(long double base, int exponent)
Я не совсем уверен, почему это основано на наших 32-битных средах, но сейчас это не относится к делу.
У меня вопрос: как мне привести параметры, какие pow
мне следует использовать? Спасибо.
P.S. Я не могу изменить тип данных параметров, так как это потребует слишком много работы. Мое задание состоит в том, чтобы получить код для компиляции с подробным описанием всех хаков, которые я делаю, чтобы потом мы могли просмотреть эти хаки и найти надлежащие способы их устранения.