Специализация члена шаблона класса, несколько определенийC++

Программы на C++. Форум разработчиков
Anonymous
Специализация члена шаблона класса, несколько определений

Сообщение Anonymous »

Я застрял в определении специализации для функции-члена внутри шаблона класса. Если я определяю полностью специализированную функцию-член вне класса, а затем использую ее в своем основном файле, компоновщик будет жаловаться на несколько определений:
в template.hpp:

Код: Выделить всё

template 
class MyClassTemplate
{
public:
MyClassTemplate(const T &t) : member(t)
{

}

const T GetMember() const
{
return member;
}

private:
T member;
};
в templates.cpp:

Код: Выделить всё

template 
const double MyClassTemplate::GetMember() const
{
return member * 2.0;
}
в main.cpp:

Код: Выделить всё

 MyClassTemplate mctd(10.9);

mctd.GetMember();
ошибка говорит, что компоновщик нашел два определения одной и той же функции, но я не определяю функцию, я ее использую!

Подробнее здесь: https://stackoverflow.com/questions/793 ... efinitions

Вернуться в «C++»