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

Шаблон в классе

15.01.2015, 18:05. Показов 439. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеем три файла:

№1 "51Template.h"
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
 
class A
{
public:
        template <class Type> void showMessage(Type message);
};
№2 "51Template.cpp"
C++
1
2
3
4
5
6
#include "51template.h"
 
template <class Type> void A :: showMessage(Type message)
{
        cout << message << \'n';
}
№3 "Main.cpp"
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "51Template.h"
 
int main()
{
      A a;
      
      a.showMessage("Сообщение");
      a.showMessage(1);
    
      system ("pause");
      return 0;
}
При компиляции выдает ошибку:
[Linker error] undefined reference to 'void A :: showMessage<char const*>(char const*)'
[Linker error] undefined reference to 'void A :: showMessage<int>(int)'
Id returned 1 exit status

Подскажите пожалуйста в чем проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2015, 18:05
Ответы с готовыми решениями:

Шаблон класса в классе
Есть список(кольцевой) который содержит узлы(Node). Список - шаблон Узел(Node) по идее тоже...

Шаблон метода в классе
Скажите, не могу использовать метод в классе на основе шаблона. Не выходит. class MYCLASS {...

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

В классе инициализировать массив, в классе создать функцию вывода массива на экран
Прошу помоши с выводом данных, которые содержаться в массиве, на экраy: Задача: В классе...

4
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
15.01.2015, 18:19 2
вообще в случае шаблонов не стоит разносить объявление и реализацию методов в разные файлы.
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
15.01.2015, 18:19 3
Уж сколько раз твердили миру
НЕЛЬЗЯ ШАБЛОНЫ КОМПИЛИРОВАТЬ В ОТДЕЛЬНОМ ФАЙЛЕ
Все запишите в "51Template.h"
0
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
15.01.2015, 18:20 4
ну и бэкслэш надо внести внутрь кавычек.
C++
1
\'n'
0
0 / 0 / 0
Регистрация: 15.01.2015
Сообщений: 2
15.01.2015, 18:22  [ТС] 5
Спасибо!
0
15.01.2015, 18:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2015, 18:22
Помогаю со студенческими работами здесь

Как обьявить переменную в одном классе и что бы ее было видно в дочернем классе
У меня есть основной класс с названием Root один из его членов наследует дочерний класс SubRoot....

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

Передать шаблон std::array в другой шаблон
Шаблон std::vector передать получается: template &lt;class T, template&lt;class U, class = allocator&lt;U&gt;...

Объявить в классе-наследнике указатель, указывающий туда же, куда указывает указатель в классе-родителе
Здравствуйте. Имеется базовый класс MainWindow: #ifndef MAINWINDOW_H #define MAINWINDOW_H...


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

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