PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Templates: Fehler "undefined reference to..."



chrisch
27-09-2006, 17:59
Hallo,

Vielleicht kann ja einer hier helfen, was habe ich übersehen?

Bekomme folgenden Fehler:


/tmp/ccbXh0hQ.o(.text+0x24): In function `main':
: undefined reference to `TempObj<double>::TempObj[in-charge](double)'
collect2: ld returned 1 exit status
Wenn ich unten angegebenen Code kompiliere. Benutz den g++.


//template.h
#ifndef TEMPLATE_H
#define TEMPLATE_H

using namespace std;

template <typename Tp> class TempObj{
private:
Tp val;
public:
TempObj(Tp v);
};

#endif


//template.cpp
#ifndef TEMPLATE_CPP
#define TEMPLATE_CPP

#include "template.h"

template <typename Tp> TempObj<Tp>::TempObj(Tp v){
val=v;
}

#endif


//test.cpp
#include "template.h"
#include<iostream>

using namespace std;

int main(){
TempObj<double> t(8.0);
}

Danke schonmal,
Chris

chrisch
27-09-2006, 19:36
Ich antworte mir mal selber. Der Fehler ist gefunden. Sorry wegen dem voreiligen posten, aber ich war echt schon am ausflippen.



//template.h
#ifndef TEMPLATE_H
#define TEMPLATE_H

using namespace std;

template <typename Tp> class TempObj{
private:
Tp val;
public:
TempObj(Tp v);
};

#include "template.cpp" // <-- Das hat gefehlt

#endif
Schönen Abend noch,
Chris