Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2010, 09:31   #1
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию MSVS templates

Допустим в MSVS2010 есть
Код:
template <class T> class Foo
{
public:
	Foo( );
	~Foo( );
};

template <class T> Foo<T>::Foo() {}

template <class T> Foo<T>::~Foo() {}
Все просто и замечательно.

Если поместить в "Foo.h"
Код:
template <class T> class Foo
{
public:
	Foo( );
	~Foo( );
};
а в "Foo.cpp"
Код:
template <class T> Foo<T>::Foo() {}

template <class T> Foo<T>::~Foo() {}
То линковщик ругается :
error LNK2019: unresolved external symbol "public: __thiscall Foo<int>::Foo<int>(void)" (??0?$Foo@H@@QAE@XZ) referenced in function _main
Как лечить?
coinkrsk вне форума Ответить с цитированием
Старый 30.09.2010, 09:47   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

ПОКА ШАБЛОНЫ НЕЛЬЗЯ РЕАЛИЗОВЫВАТЬ В ДРУГОМ ФАЙЛЕ.

П.С. 100 раз было, обещают добавить в новом стандарте
p51x вне форума Ответить с цитированием
Старый 30.09.2010, 09:51   #3
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

понял, спасибо.
coinkrsk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц