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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.67
Dmitriy1342
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 37
#1

Ошибка: Функция уже имеет текст реализации. - C++

13.02.2012, 14:54. Просмотров 3991. Ответов 7
Метки нет (Все метки)

Вылезает данная ошибка error C2084: функция "double hypot(double,double)" уже имеет текст реализации. Это мой вариант программы, пробовал скопировать текст c учебника - не помогло. Что делать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <cmath>
#include <locale>
#include <conio.h>
 
using namespace std;
double hypot (double a, double b); 
 
int main()
{
    setlocale (LC_ALL, "Russian");
 
    double a, b;
 
    cout <<"Введите значение первого катета: ";
    cin >>a;
    cout <<"Введите значение второго катета: ";
    cin >>b;
    cout <<"При катетах "<<a<<" и "<<b<<" гипотенуза равна "<<hypot (a, b);
    getch();
    return 0;
}
 
double hypot (double a, double b)
{
    return sqrt ((a*a)+(b*b));
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 14:54     Ошибка: Функция уже имеет текст реализации.
Посмотрите здесь:
C++ Ошибка: функция уже имеет текст реализации
Ошибка работы с классом ("функция.уже имеется текст реализации") C++
Ошибка - "Функция _main уже определена" C++
C++ Вычисляемая функция имеет вид: y = 2 - x2.
C++ Функция, которая определяет, входит ли значение в массив - оценка реализации
Дружественная функция не имеет доступа к приватным членам C++
Функция уже определена в другом файле C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
13.02.2012, 15:00     Ошибка: Функция уже имеет текст реализации. #2
Dmitriy1342, переименуйте функцию.
mimicria
return (true);
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
13.02.2012, 15:02     Ошибка: Функция уже имеет текст реализации. #3
Цитата Сообщение от Dmitriy1342 Посмотреть сообщение
уже имеет текст реализации
Русским по белому написано, функция с таким именем и насколько помнится с таким же содержанием уже описана в math.h
Назовите свою функцию по другому или воспользуйтесь стандартной
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 17:13     Ошибка: Функция уже имеет текст реализации. #4
Dmitriy1342, а можете не менять название а просто записать функцию в вашем собственном namespace ИМХО все так любят ставить std:: почему бы не воспользоваться рефакторингом в свою пользу!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cmath>
using namespace std;
 
namespace my
{
    double hypot (double a, double b)
    {
            return sqrt ((a*a)+(b*b));
    } 
};
 
int main()
{
    //setlocale (LC_ALL, "Russian");
    system("chcp 1251");
    double a, b;
    cout <<"Введите значение первого катета: ";
    cin >>a;
    cout <<"Введите значение второго катета: ";
    cin >>b;
    cout<<"При катетах "<<a<<" и "<<b
        <<" гипотенуза равна "
        <<my::hypot (a, b)//Вот использование рефакторинга во всей красе
        <<endl;
    system("pause");
    return 0;
}
PS:Раз уж мы хотим стать "продвинутыми дядьками", то почему бы по продвинутому не действовать?
Миниатюры
Ошибка: Функция уже имеет текст реализации.  
Dmitriy1342
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 37
13.02.2012, 17:35  [ТС]     Ошибка: Функция уже имеет текст реализации. #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Dmitriy1342, а можете не менять название а просто записать функцию в вашем собственном namespace ИМХО все так любят ставить std:: почему бы не воспользоваться рефакторингом в свою пользу!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cmath>
using namespace std;
 
namespace my
{
    double hypot (double a, double b)
    {
            return sqrt ((a*a)+(b*b));
    } 
};
 
int main()
{
    //setlocale (LC_ALL, "Russian");
    system("chcp 1251");
    double a, b;
    cout <<"Введите значение первого катета: ";
    cin >>a;
    cout <<"Введите значение второго катета: ";
    cin >>b;
    cout<<"При катетах "<<a<<" и "<<b
        <<" гипотенуза равна "
        <<my::hypot (a, b)//Вот использование рефакторинга во всей красе
        <<endl;
    system("pause");
    return 0;
}
PS:Раз уж мы хотим стать "продвинутыми дядьками", то почему бы по продвинутому не действовать?

Хм, а что такое system("chcp 1251"); ?
IFree Host
Заблокирован
13.02.2012, 17:39     Ошибка: Функция уже имеет текст реализации. #6
chcp - изменение кодовой страницы cmd.exe

Очень часто нужно, чтобы вместо кодовой страницы cp866 (заданной по-умолчанию) данные были в cp1251 (команда chcp 1251) или в utf8 (chcp 65001).
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 17:41     Ошибка: Функция уже имеет текст реализации. #7
Цитата Сообщение от Dmitriy1342 Посмотреть сообщение
Хм, а что такое system("chcp 1251"); ?
- да єто руссификация на старых компиляторах, вместо неё поставь + в хедеры #include <locale>
Цитата Сообщение от Dmitriy1342 Посмотреть сообщение
setlocale (LC_ALL, "Russian");
видишь же я закоментил её...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2012, 17:42     Ошибка: Функция уже имеет текст реализации.
Еще ссылки по теме:
Функция которая находит max элемент массива и имеет перегруженность C++
C++ Как узнать, что ты уже в интернете, функция InternetGetConnectedState().
Почему дружественная функция с перегруженным оператором << не имеет доступа к данным класса? C++
C++ Задан текст. Вывести первое слово, которое имеет заданную длину
C++ Найти, где функция Y=3sin(x+5) на отрезке [-5; 3] имеет минимальное отклонение от среднего арифметического

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dmitriy1342
1 / 1 / 0
Регистрация: 07.02.2012
Сообщений: 37
13.02.2012, 17:42  [ТС]     Ошибка: Функция уже имеет текст реализации. #8
А, понятно, спасибо.
Yandex
Объявления
13.02.2012, 17:42     Ошибка: Функция уже имеет текст реализации.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru