Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возврат вектора методом шаблонного класса, Вектор STL 
:(
    Опции темы
dlis
Дата 12.5.2013, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.1.2012

Репутация: нет
Всего: нет



Здрасте, как методом шаблонного класса вернуть вектор типа переданного в шаблон, в общем как скомпилить следующий код:

Код

template<class T>
class AbstractRepository
{
public:
    vector<T> getAll()=0;
    T getById(int id)=0;

    bool add(T item)=0;
    bool edit(T item)=0;
    bool remove(T item)=0;
};

PM MAIL   Вверх
borisbn
Дата 13.5.2013, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



>  как скомпилить следующий код
А что, не компилируется?
Какие ошибки выдаёт?



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
kolesnle
Дата 13.5.2013, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Упертый сишник
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 22.3.2013

Репутация: нет
Всего: нет



Цитата(borisbn @  13.5.2013,  06:01 Найти цитируемый пост)
>  как скомпилить следующий код
А что, не компилируется?
Какие ошибки выдаёт?

Цитата

1>c:\lam\ha\ha.cpp(8): error C2143: синтаксическая ошибка: отсутствие ";" перед "<"
1>          c:\lam\ha\ha.cpp(13): см. ссылку на создание экземпляров класса шаблон при компиляции "AbstractRepository<T>"
1>c:\lam\ha\ha.cpp(8): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\lam\ha\ha.cpp(8): error C2238: непредвиденные лексемы перед ";"


Модератор: для цитирования ошибок следует использовать тег quote
PM MAIL   Вверх
borisbn
Дата 13.5.2013, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Сорри, а вы <vector> включили ? Если да, то сделали using namespace std; перед объявлением класса ? Ели да, то 1) Хз 2) Лучше using namespace std; не делать. Тем более в h-никах. И ещё: абстрактные функции д.б. виртуальными.
Короче, такой код
Код
#include <vector>
template<class T>
class AbstractRepository
{
public:
    virtual std::vector<T> getAll()=0;
    virtual T getById(int id)=0;
    virtual bool add(T item)=0;
    virtual bool edit(T item)=0;
    virtual bool remove(T item)=0;
};

должен компилироваться.
http://ideone.com/KWPS3Z

Это сообщение отредактировал(а) borisbn - 13.5.2013, 08:33


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0683 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.