| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Не компилируется математичсекая функция pow |
| Автор: Нитонисе 11.11.2011, 17:24 | ||||
| Использую функцию pow(float,float). Компилятор ругается: Ambiguity between pow(float,float) and pow(float,int). Это не полная строка но кажется я самое важное выделил. То есть компилятор не понимает какую функцию применить, хотя типы аргументов заданы явно - float. Применяю также и функцию pow(float,int) - ее компилятор пропускает нормально. Как быть с pow(float,float)? Rad Studio XE. В Builder 6 ранее все было нормально. Добавлено через 13 минут и 1 секунду Уже разобрался, оказывается типы были заданы не явно. Использовал такую запись:
Поменял код на такой:
и стало все компилироваться. |
| Автор: VictorTsaregorodtsev 11.11.2011, 17:40 |
| В Билдер 6 pow(float,float) нет - есть pow(double,double) Так говорят и хэлп, и хэдер-файл. В РадСтудио должно быть то же самое (дабл-аргументы у функции). Ибо функция из стандарта ANSI. Приведите в нужных местах аргументы к дабл-типу. |
| Автор: Нитонисе 12.11.2011, 09:51 | ||
| Как раз таки в RAD Studio есть тип float. В Билдере не знаю, но там функция pow проглатывала и переменные типа float и дробные числа. В Rad Studio тип float тоже берет, а вот дробные числа не хочет. Вот строчки из файла math.h на которые ссылался компилятор, когда давал ошибку.
|