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

Как работать с шаблонами - C++

Восстановить пароль Регистрация
 
Keyw
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 36
21.04.2014, 23:32     Как работать с шаблонами #1
Простенькая програмка, но не компилируеться. Не могу я понять как работать с шаблонами, сколько уже перечитал, все-равно не въеду что не так. Объясните пожалуйста.
C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
template<class T>
class F
{
public:
    T t;
    void in(T i);
};
 
void in(T i)
{
    t=i;
}
 
void main()
{
    F f;
    int i;
    cin >> i;
    f.in(i);
    cout << f.t; 
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11828 / 6807 / 769
Регистрация: 27.09.2012
Сообщений: 16,878
Записей в блоге: 2
Завершенные тесты: 1
21.04.2014, 23:41     Как работать с шаблонами #2
C++
1
2
3
4
5
int main()
{
    F<int> f;
//...
}
Keyw
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 36
21.04.2014, 23:48  [ТС]     Как работать с шаблонами #3
Аааа, я то въехать не мог куда это писать, спасибо!
DrOffset
6428 / 3802 / 882
Регистрация: 30.01.2014
Сообщений: 6,601
21.04.2014, 23:49     Как работать с шаблонами #4
Цитата Сообщение от Keyw Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
template<class T>
class F
{
public:
    T t;
    void in(T i);
};
template <class T>
void F<T>::in(T i)
{
    t=i;
}
^ исправил.
Keyw
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 36
23.04.2014, 07:41  [ТС]     Как работать с шаблонами #5
все-равно не компилируется
C++ (Qt)
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
template<class T>
class F
{
public:
    T t;
    void in(T i);
};
 
void F<T>::in(T i)
{
    t=i;
}
 
void main()
{
    F<int> f;
    int i;
    cin >> i;
    f.in(i);
    cout << f.t; 
    getch();
}
Работаю в Visual, выбивает:
1>t.cpp(15): error C2065: T: необъявленный идентификатор
1>t.cpp(15): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "i"
1>t.cpp(15): error C2761: void F<T>::in(T): повторное объявление функции не разрешается
1>t.cpp(15): error C2059: синтаксическая ошибка: )
1>t.cpp(16): error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>t.cpp(16): error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
23.04.2014, 08:04     Как работать с шаблонами #6
Keyw, см пост выше - пропущен template перед методом in (строка 15).
Yandex
Объявления
23.04.2014, 08:04     Как работать с шаблонами
Ответ Создать тему
Опции темы

Текущее время: 23:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru