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

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

Войти
Регистрация
Восстановить пароль
 
oleg2012
0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 26
#1

Шаблон функции - C++

08.10.2012, 05:53. Просмотров 303. Ответов 3
Метки нет (Все метки)

компилятор пишет, что неудается составить аргумент шаблон для "L", как это можно исправить??

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template <class T, class L>
L Sum(T x1, T x2)
{
 return static_cast<L>( x1 + x2 );
}
 
int main(void) 
{
    int a,b;
    cin>>a>>b;
    double f= Sum(a,b);
    cout<<f<<endl;
 
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 05:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблон функции (C++):

Используя перегруженные функции и шаблон функции удалить из массива элемент по индексу - C++
Стоит следующая задача: Используя перегруженные функции и шаблон функции удалить из массива элемент по индексу. Функцию написал, но я...

шаблон функции. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью - C++
Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны...

Ошибка в шаблоне функции: "Отсутствуют экземпляры шаблон функции, соответствующие списку аргументов" - C++
#include &lt;iostream&gt; #include &lt;iterator&gt; #include &lt;map&gt; #include &lt;Windows.h&gt; #include &lt;functional&gt; #include &lt;string&gt; #include...

Перегруженные функции и шаблон функции - C++
Указания: 1. Перегрузить функции для массивов типа char, int, и double. 2. Инстанцировать шаблон функции для типов char, int, и double....

шаблон функции - C++
подсчитать среднее арифметическое элементов расположенных выше главной диагонали. Непойму где ошибка. #include&lt;iostream&gt; using...

Шаблон функции - C++
Написать шаблон функции для вычисления суммы элементов, находящихся между первым и последним нулевыми элементами. Помогите пожалуста! ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2012, 07:28 #2
C++
1
2
3
4
5
template <class T, class L>
 L Sum(T x1, L x2)
 {
    return static_cast<L>(x1 + x2);
 }
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
08.10.2012, 07:36 #3
Цитата Сообщение от oleg2012 Посмотреть сообщение
double f= Sum(a,b);
double f= Sum<int, double>(a,b);
John Prick
778 / 711 / 131
Регистрация: 27.07.2012
Сообщений: 2,043
Завершенные тесты: 3
08.10.2012, 13:39 #4
Тип входных параметров компилятор может вывести сам, а вот тип возвращаемого значения - не может, поэтому ему нужно немного подсказать:
C++
1
2
3
4
5
6
7
template <typename L, typename T>
L Sum(T a, T b)
{
//...
};
 
double f = Sum<double>(a,b);
Добавлено через 1 минуту
Если поменять местами параметры шаблона, то придётся указывать оба параметра:
C++
1
2
3
4
5
6
7
template <typename T, typename L>
L Sum(T a, T b)
{
//...
};
 
double f = Sum<int, double>(a,b);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 13:39
Привет! Вот еще темы с ответами:

Шаблон функции в С++ - C++
Добрый день. Я только начал изучать С++, около 3х месяцев. Пытаюсь сделать консольный телефонный справочник. Вопрос в шаблоне функции...

Шаблон функции - C++
Создать шаблон функции, выполняющей Комбинированный метод быстрой сортировки с методом «пузырька» Протестировать шаблон для массивов с...

Шаблон функции - C++
Привет, есть функции cinFloat() и cinInt() в коде, их я бы хотел заменить на шаблон функции(потому что они одинаковые, просто работают с...

Шаблон функции - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; template &lt;class T&gt; T abs(T n) { return static_cast&lt;unsigned...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.10.2012, 13:39
Ответ Создать тему
Опции темы

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