Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2011, 01:06   #1
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию C++|Два log'а|Компилятор негодует

Доброй ночи всем. Вот тут:
Код:
fs[i]=p[i]*(log(x)/log(2));
у меня два лога, компилятору это не нравится, как можно избежать?
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 12.07.2011, 01:08   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Вы бы текст ошибки привели.
Код:
fs[i] = p[i] * (log((double)x)/log(2.0));
netrino вне форума Ответить с цитированием
Старый 12.07.2011, 01:11   #3
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

netrinoВы, экстрасенс и телепат))Где вас этому научили?))Спасибо теперь всё впорядке
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 12.07.2011, 01:15   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Вы бы текст ошибки привели.
Код:
fs[i] = p[i] * (log((double)x)/log(2.0));
А можно вас попросить, объясните почему это работает, а первый вариант - нет. Ведь они вроде бы эквиваленты?
Вадим Мошев вне форума Ответить с цитированием
Старый 12.07.2011, 01:27   #5
Демик
Форумчанин
 
Аватар для Демик
 
Регистрация: 30.01.2011
Сообщений: 231
По умолчанию

Присоединюсь к вопросу Вадима Мошева, действительно очень интересно.
Злостный анимешнег =^.^=
Демик вне форума Ответить с цитированием
Старый 12.07.2011, 02:23   #6
MaVaL
 
Регистрация: 23.06.2010
Сообщений: 9
По умолчанию

Ну по видимому функция log работает с числом с плавающей запятой netrino привёл все числа к данному виду.
MaVaL вне форума Ответить с цитированием
Старый 12.07.2011, 02:43   #7
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Компилятор не мог разобраться, какой из вариантов функции ему выбрать, ведь int может быть неявно приведён как к float, так и к double, также и к long double. Вот компилятор и интересуется, какую же именно версию ф-ции Вы хотели вызвать.

__
и, забыл уточнить, в библиотеке реализованы все три версии, потому и возникает неопределённость

Последний раз редактировалось netrino; 12.07.2011 в 02:53.
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два одномерных массива A и B. Сформировать два новых массива. Паскаль. Где ошибка в коде? Tomny Помощь студентам 1 27.03.2011 16:47
C++ компилятор lamer69 Софт 5 08.03.2011 22:35
компилятор gaka1995 Общие вопросы C/C++ 9 18.08.2009 15:46
Подскажите программу для ведения log'а в запушенный приложениях XinG Помощь студентам 2 16.05.2008 09:15
два TMediaPlayer и два AVI-файла zeleniy Компоненты Delphi 0 01.06.2007 14:14