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

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

Войти
Регистрация
Восстановить пароль
 
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
#1

Явная специализация шаблона - C++

15.03.2014, 13:06. Просмотров 355. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Не совсем разобрася с сабжем. Например, если есть кусочек кода:
C++
1
2
3
4
5
6
template <typename T>
void func(T &blue, T &red);
struct X1 {
int a;
double b;
};
,
то для явной специализации для типа X1 можно написать:
C++
1
template <> void func<X1>(X1 &blue, X1 &red);
.
Меня смущает вот это: "<X1>". А если мне нужна явная специализация для того, чтобы в сигнатуре было X1 &blue и и X2 &red? Как тогда быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 13:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Явная специализация шаблона (C++):

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

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

Явная специализация шаблона. Ошибки - C++
Помогите исправить ошибки. Надо для шаблонного класса сделать специализацию float #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

Явная специализация шаблона класса и ее методы - C++
На 93 строке явная специализация шаблона класса под char. Но я нигде не могу найти, как мне правильно записать методы для него. Если тело...

Явная специализация шаблона для пользовательского типа - C++
Здравствуйте! Сразу извиняюсь если вопрос покажется глупым, перечитал справочник по шаблонам, но так и не нашёл ответ. Есть шаблон класса: ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
15.03.2014, 13:08 #2
template <class T, class U>
Ну и далее понятно как.
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
15.03.2014, 13:13  [ТС] #3
Вот:
C++
1
2
template <class T, class U>
void func(T &blue, U &red);
а потом для, соб-сно, X1 и X2 типов:
C++
1
template <> void func<X1, X2> (X1 &blue, X2 &red);
так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2014, 13:13
Привет! Вот еще темы с ответами:

Error C2912: явная специализация не является специализацией функции-шаблона - C++
Как исправить ошибку? #include &lt;iostream&gt; using namespace std; template &lt;typename t&gt; void PrintArray(t *arr, const int size) ...

Явное создание экземпляра класса и явная специализация шаблона класса - C++
Всем добрый день! Не могу разобраться - эти две технологии дают один и тот же результат? В каких случаях применять одно и другое?...

явная специализация - C++
нужно реализовать специализацию по шаблону. Специализация должна принимать массив строк, и вернуть наибольшую строку. template...

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


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

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

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