Sym
25-01-2005, 20:21
Hallo,
ich habe jetzt langsam den gesamten Stroustrup durch. Das Internet gibt dazu leider auch nicht mehr her. Ich denke, ich habe alles richtig gemacht. Folgendes: Ich möchte meine Klassen jetzt teilweise durch templates "erstetzen".
#include "SimpleVector.h"
template<class T>
SimpleVector<T>::SimpleVector(const unsigned int length) {
_length = length;
}
#include <iostream>
#ifndef _SIMPLEVECTOR
#define _SIMPLEVECTOR
template <class T>
class SimpleVector {
private:
unsigned int _length;
public:
SimpleVector(const unsigned int length);
};
#endif
Soweit so gut, nur leider klappt das nicht. Ich bekomme folgenden Fehler:
ZeroLink: unknown symbol '__ZN12SimpleVectorIdEC1Ej'
Executable “MeCevis” has exited due to signal 6 (SIGABRT).
Ich initialisiere es so
SimpleVector<double> *v = new SimpleVector<double>(_dim);
Naja, schön ist das nicht. Wenn ich alles ins header-file schreibe, klappt es einwandfrei. Hat da jemand einen Tip?
Ps: ich sollte erwähnen, dass ich mit einem Mac mit der Entwicklungsumgebung XCode arbeite. Kompiliert wird mit gcc3.3.
ich habe jetzt langsam den gesamten Stroustrup durch. Das Internet gibt dazu leider auch nicht mehr her. Ich denke, ich habe alles richtig gemacht. Folgendes: Ich möchte meine Klassen jetzt teilweise durch templates "erstetzen".
#include "SimpleVector.h"
template<class T>
SimpleVector<T>::SimpleVector(const unsigned int length) {
_length = length;
}
#include <iostream>
#ifndef _SIMPLEVECTOR
#define _SIMPLEVECTOR
template <class T>
class SimpleVector {
private:
unsigned int _length;
public:
SimpleVector(const unsigned int length);
};
#endif
Soweit so gut, nur leider klappt das nicht. Ich bekomme folgenden Fehler:
ZeroLink: unknown symbol '__ZN12SimpleVectorIdEC1Ej'
Executable “MeCevis” has exited due to signal 6 (SIGABRT).
Ich initialisiere es so
SimpleVector<double> *v = new SimpleVector<double>(_dim);
Naja, schön ist das nicht. Wenn ich alles ins header-file schreibe, klappt es einwandfrei. Hat da jemand einen Tip?
Ps: ich sollte erwähnen, dass ich mit einem Mac mit der Entwicklungsumgebung XCode arbeite. Kompiliert wird mit gcc3.3.