Seite 1 von 1

[C++] Template Definition

Verfasst: 08.10.2012, 17:53
von RazorX
Servus,

ich glaube ich stehe gerade nur aufm Schlauch aber mir will der Fehler nicht auffallen. Gegeben sei:

Code: Alles auswählen

// Header .h
template<typename A>
class Foo {
public:
     template<typename B>
     Foo(const Foo<B>&);
}
#include "Foo.ipp"

// Implementierung .ipp
template<typename A, typename B>
Foo<A>::Foo(const Foo<B>&) {
}
Problem ist, dass er die Implementierung beim Kompilieren nicht findet, deswegen bin ich gerade am Zweifeln ob eine Template-Funktion innerhalb eines Templates überhaupt außerhalb definiert werden kann.

Mfg RazorX

Edit: Compiler ist der MSVC++2012

Re: [C++] Template Definition

Verfasst: 08.10.2012, 18:16
von CodingCat
Du darfst nur die zwei Template-Parameter-Listen des Klassen-Templates und des Methoden-Templates nicht durcheinanderbringen:

Code: Alles auswählen

template <typename A>
template <typename B>
Foo<A>::Foo(const Foo<B>&)
{
}

Re: [C++] Template Definition

Verfasst: 08.10.2012, 18:21
von RazorX
Ahh jo, da war was. Templates habe ich lange Zeit viel gemieden, mittlerweile kommen die aber immer mal wieder bei mir vor. Dank dir!