Ryu1991
Erfahrenes Mitglied
Hi,
Ich habe mir eine Container klasse für ein paar grafiken geschrieben, und dann festgestellt, dass ich sie doch besser als Template brauchen könnte, und habe infolge dessen versucht, sie entpsrechend umzubiegen.
Das ist der Header:
So, wenn ich jetzt versuche ein Container Object zu erzeugen kriege ich immer folgende fehler:
Nur, dass Construktor, und destructor definitiv da sind:
Bevor ich das alles auf Template umgeschrieben hatte lief es auch noch.
Weiß jemand, was das zu bedeuten hat?
gruß me
Ich habe mir eine Container klasse für ein paar grafiken geschrieben, und dann festgestellt, dass ich sie doch besser als Template brauchen könnte, und habe infolge dessen versucht, sie entpsrechend umzubiegen.
Das ist der Header:
C++:
#pragma once
#include <Graphic.h>
#include <list>
namespace mg{
template<class T>
class Container
{
public:
Container(int);
~Container(void);
void setVisible(bool);
void setLayer(int);
Container<T>& add(T*);
Container<T>& remove(T*);
void removeAll();
void deleteAll();
unsigned int size();
protected:
std::list<T*> Graphics;
unsigned int Layer;
};
typedef Container<Graphic> GraphicContainer;
}
Code:
1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall mg::Container<class mg::Graphic>::~Container<class mg::Graphic>(void)" (****1?$Container@VGraphic@mg@@@mg@@QAE@XZ)" in Funktion ""public: void __thiscall mg::Game::run(void)" (?run@Game@mg@@QAEXXZ)".
1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall mg::Container<class mg::Graphic>::Container<class mg::Graphic>(int)" (****0?$Container@VGraphic@mg@@@mg@@QAE@H@Z)" in Funktion ""public: void __thiscall mg::Game::run(void)" (?run@Game@mg@@QAEXXZ)".
C++:
...
template<class T>
Container<T>::Container(int layer):Layer(layer)
{
}
template<class T>
Container<T>::~Container(void)
{
}
...
Weiß jemand, was das zu bedeuten hat?
gruß me