Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
1

Шаблоны функций. Можно ли задать шаблон мэйна

08.09.2015, 09:39. Просмотров 980. Ответов 9
Метки нет (Все метки)

Понятно что нельзя. В этом чудном участке кода, в мэйн вводимые данные кастятся к инту. Как это можно обойти?
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>
using namespace std;
template<typename T>
void foo(void(*foo1)(T&,T&),T&a,T&b){
    foo1(a,b);
    cout<<a<<" "<<b<<endl;
    T temp=a;
    a=b;
    b=temp;
    cout<<a<<" "<<b<<endl;
    
}
template<typename T>
void foo1(T&a,T&b){
    cin>>a;
    cin>>b;
}
 
int main(){
    
    
    int a,b;
    foo(foo1,a,b);
    
    
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2015, 09:39
Ответы с готовыми решениями:

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают)...

Шаблон указателя на функцию и шаблоны функций
Подскажите пожалуйста, в чём проблема? Не смог разобраться. #include &quot;stdafx.h&quot; #include...

Можно ли делать шаблоны дружественных функций?
Вот пример того, как я хочу объявить дружественную функцию в классе: friend template &lt;typename...

Перегрузка функций, шаблоны функций Функция определения объемов: шара по его радиусу
Перегрузка функций, шаблоны функций Функция определения объемов: шара по его радиусу (V=4/3пиR2),...

9
6914 / 5979 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
08.09.2015, 09:48 2
Другой тип поставь в 22-й строке.
0
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 42
08.09.2015, 09:51 3
О каком мэйне речь? О функции main, с которой начинается выполнение программы?
Она полностью записывается так
int main(int argc, char *argv[])
где argc - количество аргументов, переданных из командной строчки
argv - массив указателей на аргументы. Нулевой - это адрес исполняемого файла, а дальше переданные строки.

Если не об этом, то не очень понятно, о чем ты...
0
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
08.09.2015, 09:54  [ТС] 4
nmcf, Ну это примерно ясно,в ручную задать другой тип к примеру дабл. суть в том что бы вводились любые типы в т.ч. символы и затем менялись. Ну и соответственно не пробивать каждый раз в мэйн новый тип
0
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 42
08.09.2015, 10:02 5
А в foo и foo1 ничего не кастится. Ты туда передаешь объекты типа int и он с ними и работает. То есть, T становится int. Если передать float значения, то T будет float итп.

Добавлено через 5 минут
А зачем тогда шаблоны? Пусть вводится строка... И с ней делать можно что-угодно.
1
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
08.09.2015, 10:05  [ТС] 6
sion5, В этом весь вопрос, я задаю значения переменных a b в foo1, как можно задать ввод аргументов различного типа, без того что бы каждый раз не менять тип в мэйн.

Добавлено через 34 секунды
sion5, Строка вариант!
0
Эксперт С++
8351 / 6098 / 610
Регистрация: 10.12.2010
Сообщений: 28,356
Записей в блоге: 29
08.09.2015, 12:50 7
Лучший ответ Сообщение было отмечено anti-k как решение

Решение

boost::variant, boost::any ?
1
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
08.09.2015, 15:51  [ТС] 8
Avazart, Avazart, Скила не хватает толком понять вашу подсказку. Не найдете минутку что бы черкануть пару строк коментов или кинуть ссылку где можно почитать. Буду крайне благодарен!
0
Эксперт С++
8351 / 6098 / 610
Регистрация: 10.12.2010
Сообщений: 28,356
Записей в блоге: 29
08.09.2015, 16:41 9
anti-k, А вы сильно потрудились объяснить конкретно что вам нужно?
Какой вопрос такой и выброс ответ...
1
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
08.09.2015, 16:42  [ТС] 10
Avazart, Справедливо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2015, 16:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Шаблоны, шаблон в шаблоне
Всем привет! Есть шаблон списка1 и есть шаблон списка2. При клике на какой-то элемент списка1...

Шаблон проектирования Prototype. Можно ли по такой реализации сказать, что используется этот шаблон?
public interface ICloneable&lt;T&gt; { T Clone(); } public class Client :...

Шаблоны функций
В общем сделал проэкт по шаблонам... но почемуто он не компилируется... как я понял то не видит СРР...

Шаблоны функций
Rififi, привет какой у тебя емеил Добавлено через 58 минут 9 секунд тема: Шаблони функції ...


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

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

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