[C++] Template Definition

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
RazorX
Establishment
Beiträge: 156
Registriert: 23.12.2010, 14:13
Kontaktdaten:

[C++] Template Definition

Beitrag 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
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: [C++] Template Definition

Beitrag 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>&)
{
}
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
RazorX
Establishment
Beiträge: 156
Registriert: 23.12.2010, 14:13
Kontaktdaten:

Re: [C++] Template Definition

Beitrag 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!
Antworten