Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
42 / 42 / 27
Регистрация: 29.01.2013
Сообщений: 277
1

запрет шаблонов

16.07.2013, 22:07. Показов 1383. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть некоторая шаблонная функция, которая определена для некоторого набора типов данныхх. Как можно сделать так, чтобы функцию нельзя было бы использовать с др.типами?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2013, 22:07
Ответы с готовыми решениями:

Перегрузка шаблонов
привет, объясните, почему вызывается первая версия шаблона? #include <iostream> using namespace...

Немного шаблонов
Добрый день форумчане, у меня в порядке бреда родилась такая идея class B//базовый класс,...

Использование шаблонов
Здравствуйте, пытаюсь набросать элементарный пример шаблона в Visual Studio 12 и получаю ошибку...

С++ использование шаблонов
Приветствую всех на форуме. Написал код с использованием шаблонов. Задание звучит так : ...

4
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
16.07.2013, 22:15 2
покажите сигнатуру функции и для каких типов ее можно юзать.
0
Неэпический
18105 / 10692 / 2062
Регистрация: 27.09.2012
Сообщений: 26,918
Записей в блоге: 1
16.07.2013, 22:27 3
Цитата Сообщение от bgm123 Посмотреть сообщение
Как можно сделать так, чтобы функцию нельзя было бы использовать с др.типами?
Распространять уже в скомпилированном виде
0
Ушел с форума
Эксперт С++
16478 / 7441 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
16.07.2013, 23:05 4
Первое, что пришло на ум:
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
29
30
31
32
33
34
#include <iostream>
 
 
 
template <typename T_Type>
struct approved_type;
 
#define APPROVED_TYPE(x) template <> struct approved_type<x> {};
 
APPROVED_TYPE(int)
APPROVED_TYPE(bool)
APPROVED_TYPE(char)
 
 
 
template <typename T_Type>
void func(T_Type Arg)
{
    approved_type<T_Type> TypeCheck;
    std::cout << Arg << std::endl;
}
 
 
 
int main()
{
    func(1);
    func(true);
    func('a');
 
    func(0.5); // Compiler error.
 
    return 0;
}
1
1458 / 795 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.07.2013, 00:00 5
А еще есть static_assert и type_traits:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <type_traits>
 
template <typename T>
void show(const T val)
{
    static_assert(std::is_fundamental<T>::value, "must be fundamental");
    std::cout<<val<<std::endl;
}
 
int main(int argc, char** argv)
{
    double d = 10.2;
    char ch = 'k';
    std::string s = "Hello";
    show(d);
    show(ch);
    //show(s); //error
    show(25);
 
   return 0;
}
1
17.07.2013, 00:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2013, 00:00
Помогаю со студенческими работами здесь

Каталог шаблонов
Может кто подскажет ? Как-то раз попадалась на глаза программа, которая позволяла вести...

Наследование шаблонов
Есть некоторый класс first, реализованный по шаблону. Можно ли от него наследовать другой класс,...

Реализация шаблонов
Всем привет! Можно ли как-то реализовывать шаблонный класс в другом файле? то есть имеем...

Экспорт шаблонов
Вопрос такой: Можно ли в Visual C++ реализовать экспорт шаблонов функций так, чтобы например в...


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

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