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

С++ 11 Variadic template

01.02.2020, 01:51. Показов 388. Ответов 9
Метки нет (Все метки)

не работает, как правильно?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template<typename T, typename... ArgTypes> 
struct StructFunctionName 
{ 
operator T(){ return FunctionName<T>(ArgTypes... args); } 
};
 
template<typename... ArgTypes> int FunctionName(ArgTypes... args)
{
return 1;
}
template<typename... ArgTypes> float FunctionName(ArgTypes... args)
{
return 1;
}
 
int main()
{
 int Result=StructFunctionName("Test");
 float Result1=StructFunctionName(534);
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2020, 01:51
Ответы с готовыми решениями:

Variadic template
Добрый день, господа. Будьте добры, помогите кто может. Есть у меня шаблонный класс ...

Не работает variadic template
привет. код #include &lt;typeinfo&gt; #include &lt;iostream&gt; #include &lt;deque&gt; using namespace std; ...

recursion with variadic template
#define NOT_COMPILE 1 #if NOT_COMPILE // так не компилится template &lt;class Type, unsigned...

Variadic template lambda capture
Доброго всем дня! Речь пойдёт об C++14, в котором стало возможным делать прямую передачу в...

9
15122 / 8120 / 1961
Регистрация: 30.01.2014
Сообщений: 13,804
01.02.2020, 02:32 2
Цитата Сообщение от A_C Посмотреть сообщение
как правильно?
Зависит от того, что вам нужно сделать.
Опишите словами чего хотите добиться.
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 13
01.02.2020, 02:33  [ТС] 3
int Result=StructFunctionName("Test");
float Result1=StructFunctionName(534);
0
15122 / 8120 / 1961
Регистрация: 30.01.2014
Сообщений: 13,804
01.02.2020, 02:37 4
A_C, словами, по-русски, пожалуйста, напишите что вам нужно получить.
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 13
01.02.2020, 02:40  [ТС] 5
int Result=StructFunctionName("Test");
0
Don't worry, be happy
17172 / 10055 / 1935
Регистрация: 27.09.2012
Сообщений: 25,051
Записей в блоге: 1
01.02.2020, 07:41 6
A_C, и что из этого мы должны понять? Вас же попросили описать словами желаемое поведение. Из того что Вы предоставили, понять Ваш намерения невозможно.
0
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 13
01.02.2020, 14:32  [ТС] 7
"Твой наезд, наш интерес", не вижу оснований. Вопрос же ясен.
main()

Добавлено через 37 минут
Желающие исправлять мысли - учитесь формулировать свои, не критикуйте, когда вопрос.
0
301 / 248 / 53
Регистрация: 14.10.2014
Сообщений: 1,109
01.02.2020, 15:21 8
Цитата Сообщение от A_C Посмотреть сообщение
int Result=StructFunctionName("Test");
float Result1=StructFunctionName(534);
А что непонятного-то? Судя из описания, ТопикСтартеру нужно реализовать банальнейшую перегрузку функций, передали в функцию строку - получили int, число - получили float.
И всё это нужно реализовать при помощи перегрузки шаблонов
0
15122 / 8120 / 1961
Регистрация: 30.01.2014
Сообщений: 13,804
01.02.2020, 16:24 9
Цитата Сообщение от Recrut_rf Посмотреть сообщение
передали в функцию строку - получили int, число - получили float.
Это все прекрасно, но для этого не нужны ни variadic templates, ни шаблонный класс, ни оператор приведения типа.
А раз все это есть, у меня совершенно справедливые основания полагать, что тут может быть все гораздо сложнее.
Но т.к. ТС не идет на диалог, а только огрызается - не вижу смысла тратить время на угадывание его истинных желаний.
3
301 / 248 / 53
Регистрация: 14.10.2014
Сообщений: 1,109
01.02.2020, 18:27 10
Цитата Сообщение от DrOffset Посмотреть сообщение
Но т.к. ТС не идет на диалог, а только огрызается
Вот и я тоже думаю, что ТС сам прекрасно справится.
а если возникнут вопросы:
пускай погуглит про variadic templates, шаблонные классы, оператор приведения типа, про перегрузку функций - примеров масса, в том числе и на форуме
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2020, 18:27

Класс сигнала на Variadic Template
Добрый день! Написал класс &quot;сигнала&quot; при помощи variadic templates, но он почему-то не работает:...

Как правильно перебросить аргументы в variadic template?
всем привет, можете помочь пж, есть такая ф-ция: template&lt;typename ... Args&gt; inline wstring...

Variadic Templates - как обращаться к аргументам variadic-функции?
Всем привет! Наверное, рано мне ещё с моими скудными знаниями в это лезть, но, изучив шаблоны и...

Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier
Решил подправить свой класс с использованием шаблонов, но столкнулся со следующим косяком. Если я...


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

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

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