Klassenvorlagen-Member-Spezialisierung, mehrere DefinitionenC++

Programme in C++. Entwicklerforum
Guest
 Klassenvorlagen-Member-Spezialisierung, mehrere Definitionen

Post by Guest »

Ich stecke beim Definieren einer Spezialisierung für eine Mitgliedsfunktion innerhalb einer Klassenvorlage fest. Wenn ich die vollständig spezialisierte Mitgliedsfunktion außerhalb der Klasse definiere und sie dann in meiner Hauptklasse verwende, beschwert sich der Linker über mehrere Definitionen:
in template.hpp:

Code: Select all

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

}

const T GetMember() const
{
return member;
}

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

Code: Select all

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

Code: Select all

 MyClassTemplate mctd(10.9);

mctd.GetMember();
Der Fehler besagt, dass der Linker zwei Definitionen derselben Funktion gefunden hat, aber ich definiere die Funktion nicht, ich verwende sie!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post