Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

template не работает???

14K
17 июня 2008 года
Vurdilla
11 / / 10.05.2006
Слушайте, тупой вопрос, но делаю все "по учебнику" - и не получается.
Беру Страуструпа, открываю, списываю приведенный пример:

// ***файл stack.h:
#ifndef templatetestH
#define templatetestH
template<class T> class Stack
{
T *v;
int max_size;
int top;

public:
class Underflow{};
class Overflow{};
Stack(int s);
~Stack();

void push(T);
};
#endif


// ***файл stack.cpp
#include "stack.h"
template<class T> Stack<T>::Stack(int s)
{
max_size=100;
v=new T[max_size];
}
//.. реализация

Все склеиваю в проект, в функции main просто создаю объект :

Stack<double> f(5);

Компилируется, но не линкуется. Линкер говорит, что Unresolved external 'выдов конструктора'

Ctrl+X всю реализацию из .cpp файла, Ctrl+V в конец файла .h (до endif). Все работает.


В чем проблема???
Почему линкер не видит cpp файла, который добавлен в проект???


PS Перезагрузка не помогает ;))

PPS C++ Builder 2006
4.3K
17 июня 2008 года
flat
142 / / 27.12.2005
На сегодняшний день подавляющее большинство компиляторов (в том числе и Builder) не поддерживает раздельную компиляцию шаблонов.
3
18 июня 2008 года
Green
4.8K / / 20.01.2000
В поиск, в FAQ.
Обсуждается чуть ли ни каждый месяц. Сколько можно?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог