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
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