Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Есть ли memer function templates в BCB 6 ? class A{ template<T> void f(T&){} } 
:(
    Опции темы
blza
Дата 28.7.2010, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пишу загрузчик данных, нужно создать класс-набор данных.
На Variadic templates расчитывать не приходится, поэтому решил обойтись member templates. Но сразу наткрулся на ошибку компиляции.
Код

#ifndef _T_DATASET_H_
#define _T_DATASET_H_

#include <vector>

class T_DataSet{
private:
    //std::vector<void*> _columns;
public:
    template<class T> void InsertValue( const int aColumnNum, T& aValue ){
        //static_cast< std::vector<T>* >( _columns[ aColumnNum ] )->push_back( aValue );
    }
    T_DataSet(){}
    virtual ~T_DataSet(){}
}


#endif /* _T_DATASET_H_ */

Такой header не компилируется, выдавая:

[C++ Error] stdio.h(359): E2040 Declaration terminated incorrectly

В зависимости от того, после или перед каким хедером подключать данный файл, ошибки могут быть и в других *.h, не всегда в stdio.h.
Возможно ли обойти это в BCB 6?
Если нет, то какая версия CB обеспечивает нормальную поддержку member templates?
Кстати, с трудом нашел в google.groups обсуждение точно такой же ошибки в BCB 5. Там сделали вывод, что в BCB 5 это не поддерживается. 
PM MAIL   Вверх
mrbrooks
Дата 28.7.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



blza, ох. не стал бы я этим заниматься в BC++ 6.0. Если есть возможность - обновите IDE хотя бы до 2007.
PM MAIL   Вверх
blza
Дата 28.7.2010, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здорово. Выяснил.
Все потому, что не поставил в конце объявления класса ТОЧКУ С ЗАПЯТОЙ.
Все есть. Все работает.
И как только предотвратить ТАКИЕ ошибки в будущем?

Это сообщение отредактировал(а) blza - 28.7.2010, 15:40
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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