Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351

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

30.11.2013, 15:36. Показов 763. Ответов 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
        template <class T>
        class Base
        {
        T itsT;
        public:
        Base(): itsT(0) {}
        T getT() const {return itsT;}
        void setT(T age) {itsT = age;}
        class Temp { void func();};
        Temp* funcs();
        };
 
        template <class T>
        Base<T>::Temp* Base<T>::funcs()
        {
        cerr << "\nHELLO!\n";
        Temp obj;
        return &obj;
        }
 
        int main()
        {
        Base<int> myInt;
        myInt.funcs();
        return 0;
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2013, 15:36
Ответы с готовыми решениями:

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

Шаблонная функция
Помогите понять почему когда вызываешь функцию уже для конкретного типа (int,char*,double и т.п.)выдает ошибку: Error C2440 'type cast':...

Шаблонная функция
Всем привет. Пытаюсь реализовать простенький парсер. Суть в том, что у меня есть ini файл с различными параметрами. Я все секции с...

4
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
30.11.2013, 15:45
Цитата Сообщение от BESSON_off Посмотреть сообщение
C++
1
Base<T>::Temp* Base<T>::funcs()
C++
1
typename Base<T>::Temp* Base<T>::funcs()
0
 Аватар для BESSON_off
3 / 0 / 0
Регистрация: 08.07.2013
Сообщений: 351
30.11.2013, 16:26  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
C++
1
typename Base<T>::Temp* Base<T>::funcs()
Можно прокомментировать?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
30.11.2013, 17:50
Цитата Сообщение от BESSON_off Посмотреть сообщение
Можно прокомментировать?
что прокомментировать? книжку по шаблонам С++ открой, там все комментарии по этому поводу есть
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
30.11.2013, 18:56
ну в книжках это еще поискать нужно.
смотрите про имена, которые зависят от параметра шаблона.
указанное имя Temp (Base<T>::Temp) не считается компилятором именем типа. поэтому нужно явно это прописывать ключевым словом typename. Возможны ситуации, когда типом оно не является. Например где-то может быть специализация шаблона, в которой Temp - не вложенный тип, а имя переменной или еще чего-то.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2013, 18:56
Помогаю со студенческими работами здесь

Шаблонная функция
Как &quot;научить&quot; шаблонную функцию отличать массив от контейнера, то есть если написать: template &lt;class contains, class type&gt; type...

Шаблонная функция
Необходимо сделать шаблонную функцию, в которой x заменяется на y, а y заменяется на x: void f(int *x, float *y) Помогите...

Шаблонная функция
Дорогие форумчане, нуждаюсь в вашей помощи: имеется несколько функций, с большим объемом кода. Чтоб не повторять код для функций с другим...

Шаблонная функция С++
Помогите пожалуйсто понять ошибку Используется шаблонная функция в первом вызове она отображает значение типа int во втором типа double...

Шаблонная функция
Учу c++, в книге приводится вот такой листинг примера работы шаблонной функции, однако он не компилится, выдает ошибку error C2668: swap:...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru