0 / 0 / 0
Регистрация: 08.10.2012
Сообщений: 26
1

Шаблон функции

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

Author24 — интернет-сервис помощи студентам
компилятор пишет, что неудается составить аргумент шаблон для "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;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2012, 05:53
Ответы с готовыми решениями:

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

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

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

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

3
5498 / 4893 / 831
Регистрация: 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);
 }
0
3528 / 2686 / 334
Регистрация: 11.03.2009
Сообщений: 6,171
08.10.2012, 07:36 3
Цитата Сообщение от oleg2012 Посмотреть сообщение
double f= Sum(a,b);
double f= Sum<int, double>(a,b);
0
2294 / 1781 / 745
Регистрация: 27.07.2012
Сообщений: 5,278
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);
0
08.10.2012, 13:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2012, 13:39
Помогаю со студенческими работами здесь

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

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

Шаблон функции
//Шаблон по поиску максимума среди 2 чисел template &lt;typename T&gt; void Max2(T number1, T number2)...

Шаблон функции
Не понимаю в чем проблема, пытаюсь реализовать шаблон функции которая возвращает указатель на...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru