template class mit vector
-
Hallo,
ich habe folgendes Verwalter Template, dieses soll ein vector bereitstellen, der bestimmte Objekte einer anderen Klasse halten und "verwalten" kann.Ich habe Probleme bei mit dem Compiler und weiß nicht was genau falsch ist.
template<typename T>
class Verwaltung
{
private:
std::vector<T> objekte;protected:
int getPos(int id);public:
Verwaltung();
virtual ~Verwaltung();void add(T& n);
bool exist(int id);
...
};template <class T>
void EntityVerwaltung<T>::add(T& m){
objekte.push_back(m);
}int main()
{
Arbeiter a1("Maik");
Verwaltung<Arbeiter> arbeiter;
mit.add(m1);
}Compiler meldet
linker command failed with exit code 1 (use -v to see invocation)
(Xcode)Hoffe jemand kann mir helfen.
-
Wieso lesen sich so wenige Leute die verdammten Sticky-Threads durch? Es gibt einen Grund, warum die als "Wichtig" markiert sind.
Und deine Frage lässt sich mit einer einfachen Google-Suche nach
c++ template code header
beantworten. Interface und Code müssen in C++ zusammenliegen, oder zumindest dem Compiler zur Kompilierzeit verfügbar sein.EDIT: Überhaupt lässt sich der Code auch sonst nicht kompilieren.
<vector>
wird nicht eingebunden,EntityVerwaltung
ist nicht bekannt, und woher der TypArbeiter
kommt, wissen wir beide nicht. Auch nicht, wiea1
plötzlich zum1
wird.Und wenn ich dann all diese blöden Fehler fixe (was sowieso bescheuert ist, weil ich jetzt noch Annahmen von dem, was du uns nicht zeigst, treffen muss), dann erst bekomm ich das, was du wahrscheinlich meinst - nämlich, dass deinem Template die Implementierung in der TU fehlt.
Deswegen woher die Stickys lesen. Reduziertes, kompilierbares Beispiel. Menschenskinners.
-
Komplette Fehlermeldung!