Форум программистов, компьютерный форум CyberForum.ru

Не работает возведение в степень через pow - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
slipp1
12 / 11 / 1
Регистрация: 09.11.2012
Сообщений: 365
Записей в блоге: 1
07.03.2013, 01:12     Не работает возведение в степень через pow #1
почему не работает?? не пойму

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
#include <cmath>
 
int power(int, int);
 
int main()
{
    cout<<power(2,2)<<endl;
    return 0;
}
 
int power(int value, int degree)
{
    return pow(value,degree);
}

ошибка которую выдает компилятор:
C++
1
2
3
4
5
6
7
8
1>------ Build started: Project: test_pow, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>d:\учебники\c++\how program on c++\myprojects\21_биты_символы_строки_с_и_структуры\test_pow\main.cpp(16) : error C2668: 'pow' : ambiguous call to overloaded function
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(575): could be 'long double pow(long double,int)'
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(527): or       'float pow(float,int)'
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(489): or       'double pow(double,int)'
1>        while trying to match the argument list '(int, int)'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2013, 01:12     Не работает возведение в степень через pow
Посмотрите здесь:

возведение в степень, pow C++
C++ Возведение в степени, не используя pow
Возведение в степень pow C++
Возведение в степень через цикл C++
C++ Почему не работает: возведение числа в степень
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
07.03.2013, 01:18     Не работает возведение в степень через pow #2
Скопировал. вставил .Проверил у меня работает.Странно.
Попробуйте заменить
C++
1
2
3
int power(int, int);
cout<<power(2,2)<<endl;
int power(int value, int degree)
на
C++
1
2
3
int power(float, int);
cout<<power(2f,2)<<endl;
int power(float value, int degree)
или
C++
1
2
3
int power(float, int);
cout<<power(2.0,2)<<endl;
int power(float value, int degree)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.03.2013, 14:30     Не работает возведение в степень через pow #3
egor2116, не туда смотрите.
slipp1, 16 строка: return pow(double(value), degree);
DIEZEL-man
13 / 13 / 0
Регистрация: 17.02.2013
Сообщений: 54
11.03.2013, 14:51     Не работает возведение в степень через pow #4
Функция main должна возвращать строго значение int
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.03.2013, 15:09     Не работает возведение в степень через pow #5
Цитата Сообщение от DIEZEL-man Посмотреть сообщение
Функция main должна возвращать строго значение int
А это вообще к чему?
Yandex
Объявления
11.03.2013, 15:09     Не работает возведение в степень через pow
Ответ Создать тему
Опции темы

Текущее время: 07:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru