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

Забыл, как объявить функцию с тем же названием? - C++

Восстановить пароль Регистрация
 
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 19:59     Забыл, как объявить функцию с тем же названием? #1
Забыл, как объявить ещё одну функцию с тем же названием?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.08.2010, 19:59     Забыл, как объявить функцию с тем же названием?
Посмотрите здесь:

необходимо объявить массив указателей на функцию C++
C++ Как объявить функцию без прототипа
C++ Объявить функцию в STRUCT {} С++
как мне в функции main() объявить функцию Do (), подскажите пожалуйста, на таком глупом застрял C++
Как объявить функцию, которая имеет место быть только в некоторых дочерних классах, а базовый класс абстрактный? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.08.2010, 20:02     Забыл, как объявить функцию с тем же названием? #2
AKE, Перегрузка функции?

Ну пример.

C++
1
2
3
4
5
6
7
8
double Sqr(double x)
{
return x*x;
}
int Sqr(int x)
{
return x*x;
}
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:04  [ТС]     Забыл, как объявить функцию с тем же названием? #3
Lavroff, то есть директив никаких не надо?
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
04.08.2010, 20:05     Забыл, как объявить функцию с тем же названием? #4
если не ошибаюсь, можно давать одно название, если у функций разные типы
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.08.2010, 20:07     Забыл, как объявить функцию с тем же названием? #5
AKE, Нет, зачем? Только если различается только типом возвращаемого значения - неоднозначность -> ошибка
Вот так - запрещено
C++
1
2
3
4
5
6
7
8
9
int Scr(int l)
{
    return l*l;
}
 
double Scr(int l)
{
    return l*l;
}
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:07  [ТС]     Забыл, как объявить функцию с тем же названием? #6
У меня возникает ошибка
error C2084: function 'struct TLine __cdecl Line(struct T3DPoint,struct T3DPoint)' already has a body
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TLine Line(T3DPoint StartPoint, TVector Direction)
{
 TLine l;
 l.StartPoint = StartPoint;
 l.Direction  = Direction;
 return l;
}
 
TLine Line(T3DPoint P1, T3DPoint P2)
{
 TLine l;
 l.StartPoint = P1;
 l.Direction = SubPoints(P1, P2);
 return l;
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.08.2010, 20:10     Забыл, как объявить функцию с тем же названием? #7
AKE, Странно. Больше они нигде не объявлены?
Ибо вот так вполне работает:
C++
1
2
3
4
5
6
7
8
9
int Scr(int l, double m)
{
    return l*l;
}
 
int Scr(int l, int m)
{
    return l*l;
}
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:16  [ТС]     Забыл, как объявить функцию с тем же названием? #8
Lavroff, может быть потому что я так объявил TVector??
C++
1
typedef T3DPoint TVector;
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.08.2010, 20:18     Забыл, как объявить функцию с тем же названием? #9
AKE, Именно. typedef не катит. Перегрузка не различает их.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2010, 20:20     Забыл, как объявить функцию с тем же названием?
Еще ссылки по теме:

C++ Задачка на массивы (описать функцию случайной генерации элементов массива, а за тем логическую функцию)
C++ Объявить массив? Запросто! Объявить массив массивов? А как это?
C++ Можно ли объявить дружественную функцию как шаблон?

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

Или воспользуйтесь поиском по форуму:
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
04.08.2010, 20:20  [ТС]     Забыл, как объявить функцию с тем же названием? #10
Lavroff, Ок теперь всё работает...
Yandex
Объявления
04.08.2010, 20:20     Забыл, как объявить функцию с тем же названием?
Ответ Создать тему
Опции темы

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