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

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

Сообщение Anonymous »

Я застрял, определяя специализацию для функции члена внутри шаблона класса. Если я определяю полностью специализированную функцию члена вне класса, а затем использую ее в моем основном, линкер жалуется на множественные определения:
in 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;
}
< /code>
in main.cpp: < /p>
 MyClassTemplate mctd(10.9);

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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