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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alex.gorbach
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 35
#1

Вернуть класс-шаблон - C++

14.11.2012, 01:10. Просмотров 330. Ответов 3
Метки нет (Все метки)

Доброго времени суток. Переделываю класс-коллекцию под шаблон, возникла вот какая трудность: компилятор (C++ Builder) ругается на вот такой код
C++
1
2
3
4
5
6
template <typename T>
SavedCollection& SavedCollection <T>::operator +=(T* obj)
{
    AddThing(obj);
    return *this;
}
[C++ Error] SavedCollection.cpp(104): E2102 Cannot use template 'SavedCollection<T>' without specifying specialization parameters
Насколько я знаю, шаблонную функцию корректно объявил. Класс SavedCollection - мой класс-шаблон, содержащий элементы типа T. Хочу, чтобы этот метод вернул ссылку на текущий объект, но подозреваю, что именно в этом моменте и кроется подвох. Подскажите, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 01:10     Вернуть класс-шаблон
Посмотрите здесь:

C++ Шаблон list и подставляемый класс
Friend - класс шаблон C++
класс-шаблон C++
Класс-шаблон list C++
C++ Класс-шаблон
C++ Класс-шаблон
C++ Из класса в класс-шаблон
C++ Класс строк, перегрузка операторов. Как вернуть объект класса
C++ Вернуть полноценный класс с деструктором из функции
Шаблон принимает два типовых параметра. Если параметры - одни и те же типы, вернуть true C++
Класс-Шаблон C++
C++ Подскажите как мне из класса вернуть ссылку на класс

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
14.11.2012, 01:26     Вернуть класс-шаблон #2
а что это вообще за "SavedCollection"?
метод называется "operator +="
параметр принимаемый у него obj типа T*
возвращает он значение типа SavedCollection&
А SavedCollection <T> - это что такое???
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
14.11.2012, 10:36     Вернуть класс-шаблон #3
C++
1
2
3
4
5
6
template <typename T>
SavedCollection<T>& SavedCollection <T>::operator +=(T* obj)
{
    AddThing(obj);
    return *this;
}
alex.gorbach
0 / 0 / 0
Регистрация: 08.09.2012
Сообщений: 35
14.11.2012, 10:37  [ТС]     Вернуть класс-шаблон #4
ForEveR, спасибо, именно так я и додумался сделать. Работает.
Yandex
Объявления
14.11.2012, 10:37     Вернуть класс-шаблон
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru