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

Ошибка с шаблоном - C++

Восстановить пароль Регистрация
 
Игорюня
 Аватар для Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
21.02.2014, 14:48     Ошибка с шаблоном #1
Собсно,только начал изучать шаблоны,кажется,что-то упустил,ну в общем вот:

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
#include <iostream>
using namespace std;
 
template<class T>
class random
{
public:
    random(T b);
    ~random();{}
    T Get();{return a;}
private:
    T a;
};
 
template<class T>
random<T>::random(T b):
a(b){}
 
int main()
{   
    random object;
    cout<<object.Get()<<endl;
    system("pause");
}
Ошибки:

error C2059: синтаксическая ошибка: {
см. ссылку на создание экземпляров класса шаблон при компиляции "random<T>"
error C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции
error C2059: синтаксическая ошибка: {
error C2334: непредвиденные лексемы перед "{"; пропуск вероятного тела функции
error C2133: object: неизвестный размер
error C2512: random: нет подходящего конструктора по умолчанию
error C2662: random<T>::Get: невозможно преобразовать указатель "this" из "random" в "random<T> &"
1> Причина: невозможно преобразовать "random" в "random<T>"
1> Для преобразования требуется второй оператор пользовательского преобразования или конструктор
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2014, 14:48     Ошибка с шаблоном
Посмотрите здесь:

C++ работа с шаблоном класса Vector
C++ Сортировка массива с шаблоном
C++ Объявление класса с шаблоном
C++ Проблемы с шаблоном класса
C++ Умные указатели на структуру с шаблоном
Бинарное дерево с шаблоном C++
Поиск по файле за шаблоном C++
C++ Работа со списком, шаблоном

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
21.02.2014, 14:56     Ошибка с шаблоном #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1) После ~random() убрать точку с запятой
2) После Get() убрать точку с запятой
3) При создании объекта указать тип параметр шаблона random<???>, int например
4) При создании объекта передать в конструктор ожидаемый параметр, например random<int> object(2);
Игорюня
 Аватар для Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
21.02.2014, 15:03  [ТС]     Ошибка с шаблоном #3
Спасибо,с 1 и 2 пунктом тупанул конечно,а вот благодаря 3 и 4 пунктам всё стало понятно,в книге не понял толком,что это значит.
Yandex
Объявления
21.02.2014, 15:03     Ошибка с шаблоном
Ответ Создать тему
Опции темы

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