error C2995: Vorlagenfunktion wurde bereits definiert???
-
Beim kompilieren meiner Datei bekomme ich folgende Errors:
c:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\WinApi\mer\MerWinTest\mer_ostream_controls.h(139) : error C2995: 'void mer::Controls_Default<Buffering,OutMethod>::Underline(void)': Vorlagenfunktion wurde bereits definiert c:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\WinApi\mer\MerWinTest\mer_ostream_controls.h(46): Siehe Deklaration von 'mer::Controls_Default<Buffering,OutMethod>::Underline' c:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\WinApi\mer\MerWinTest\mer_ostream_controls.h(164) : error C2995: 'void mer::Controls_Default<Buffering,OutMethod>::Bold(int)': Vorlagenfunktion wurde bereits definiert c:\Dokumente und Einstellungen\TOM\Eigene Dateien\c++\Projekte\WinApi\mer\MerWinTest\mer_ostream_controls.h(47): Siehe Deklaration von 'mer::Controls_Default<Buffering,OutMethod>::Bold'
Dann mal der für die Fehler interessante code:
template < template<class>class Buffering=Buffering_Lazy, class OutMethod=OutMethod_TextOut > class Controls_Default :public AbstractControls<Buffering,OutMethod> { public: virtual void Underline(); virtual void Bold(int i); }; template < template<class>class T, class U > inline void Controls_Default<T,U>::Underline() { //... }; template < template<class>class T, class U > inline void Controls_Default<T,U>::Bold(int i) { //... };
Aber wo bitte definiere ich hier was mehrfach?
Vor allem: Natürlich hat die Klasse noch mehr funktionen, alle in dem selben Stil. Ich habe sie alle auf die gleiche Weise definiert, aber nur die 2 machen Probleme!
-
hast du irgendwelche typedefs die genauso heißen?
-
nö
/edit: Merkwürdig ist, das die beiden errors für jede *.cpp, die die header einbindet, einmal erscheint (Oder ist das normal?).