implements?
-
thordk schrieb:
pixartist schrieb:
och man wie beknackt ist das denn

wenn ich folgendes mache:
class a { public: foo(); }; class b : public a { public: foo(); bar(); }; a* obj = new b(); obj->bar();dann krieg ich nen fehler Oo
wie soll ich denn das machen?obj wieder auf b casten. du greifst über nen pointer vom typ a drauf zu und a kennt die methode bar nicht. da c++ aber weder sowas wie instanceof noch reflection kennt, muss man sich bei solchen sachen halt was ausdenken. vielleicht nen enum mit dem typ der klasse im "interface" mitschleppen.
kannst du mir daq n beispiel geben ?
würde das gehen:
((b*)obj)->bar();?
-
pixartist schrieb:
würde das gehen:
((b*)obj)->bar();?
Merke: C-Casts in C++ stinken. Verwende 'static_cast' oder 'dynamic_cast' (letzteres nur, wenn Du nicht weißt, welchen Typ das Objekt hat).
-
du musst alle methoden, die du über einen pointer auf eine Klasse erreichbar haben möchtest auch in dieser bereitspellen, das ist auch in Java nicht anders, und da den cast den du da vorgeschlagen hast, vergess den schnell wieder, das ist müll. wenn du sowiso weist, was für ein datentyp das ist, und du auch alle methoden dieses Datentyps nutzen möchtest, dann verwende gleich eine Variable von genau dem typ, und nicht von der superklasse.
-
Krux schrieb:
du musst alle methoden, die du über einen pointer auf eine Klasse erreichbar haben möchtest auch in dieser bereitspellen, das ist auch in Java nicht anders, und da den cast den du da vorgeschlagen hast, vergess den schnell wieder, das ist müll. wenn du sowiso weist, was für ein datentyp das ist, und du auch alle methoden dieses Datentyps nutzen möchtest, dann verwende gleich eine Variable von genau dem typ, und nicht von der superklasse.
1. java kennt keine pointer
2. bei java hat eine variable einen statischen und einen variablen typ, man kann auf alle methoden des dynamischen typs zugreifen.
-
class a { public: foo(); }; class b : public a { public: foo(); bar(); };wieso geht hier denn folgendes nicht?
b obj;?
-
pixartist schrieb:
1. java kennt keine pointer
2. bei java hat eine variable einen statischen und einen variablen typ, man kann auf alle methoden des dynamischen typs zugreifen.Beides Quatsch. Java nennt Zeiger lediglich Referenzen und die zweite Aussage ist einfach nur komisch.
pixartist schrieb:
wieso geht hier denn folgendes nicht?
b obj;?
Weil die Klassendeklarationen falsch sind. Die Funktionen brauchen Rückgabetypen.
/EDIT: Oh, hatte "Teil" statt "Typ" gelesen. Na gut, dann ergibt die zweite Aussage natürlich trotzdem Sinn. Aber für C++ gilt dasselbe (zumindest für Zeiger und Referenzen)!
-
Konrad Rudolph schrieb:
pixartist schrieb:
wieso geht hier denn folgendes nicht?
b obj;?
Weil die Klassendeklarationen falsch sind. Die Funktionen brauchen Rückgabetypen.
hä wie? versteh ich ned
-
class A { public: void foo(); }; int main() { A a; }wenn man sowas durch den compiler jagt, meckert er, dass A incomplete sei (die implementierung von foo fehlt). und da du nur "geht nicht" geschrieben hast, war das wohl seine vermutung, was der fehler sein könnte.
-
thordk schrieb:
wenn man sowas durch den compiler jagt, meckert er, dass A incomplete sei (die implementierung von foo fehlt).
Nö, wieso sollte er. Hier meckert höchstens der Linker.
@pixartist:
Auch in Java darf es keine Funktionen geben, die nichts zurückgeben, oder? Dasselbe gilt in C++.
(z.B. wäre "public Test()" nur gültig wenn die Klasse "Test" heisst.)
-
thordk schrieb:
wenn man sowas durch den compiler jagt, meckert er, dass A incomplete sei (die implementierung von foo fehlt).
Über den Code beschwert sich der Compiler überhaupt nicht (der geht davon aus, daß die Methodendefinition schon irgendwo existieren wird) - darüber beschwert sich höchstens der Linker, wenn er die Definition nicht findet.
Der Compiler beschwert sich höchstens über incomplete Typen, wenn du eine Variable anhand einer Forward-Deklaration anlegen willst:
class A; A obj;
-
argh nein sry ihr habt mich falsch verstanden
class a { public: virtual foo() = 0; }; class b : public a { public: foo(); bar(); }; b::foo() { //bla } b::bar() { //blub } b test; //hier meckert der bei mirerror C2259: "b" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
Siehe Deklaration von 'b'
-
Das ändert nix daran, dass der Code falsch ist. Du musst die Funktionen nach wie vor mit einem Rückgabetyp deklarieren!
-
jaja, der linker ihr korinthenkacker :p
-
pixartist schrieb:
argh nein sry ihr habt mich falsch verstanden
class a { public: virtual void foo() = 0; }; class b : public a { public: void foo(); void bar(); }; void b::foo() { //bla } void b::bar() { //blub } b test; //hier meckert der bei mirerror C2259: "b" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
Siehe Deklaration von 'b'edit: ups...das hab ich glatt vergessen. die funktionen haben rückgabetype

-
Und welches Element vermisst der Compiler da?
-
ah hatte nicht gesehen, dass das zum fehler gehört:
e:\uni\code\pixgraph\sdl_dropdown.h(42) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden: e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setState(int) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel' e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *) const' : Rein virtuelle Funktion wurde nicht definiert e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'die ganzen funktionen sind in SDL_Input virtuell und für SDL_Button sind sie definiert...
-
Also folgendes schluckt mein Compiler ohne Probleme:
class a { public: virtual ~a() {}; // Bei Polymorphen Datentypen nicht vergessen! virtual void foo() = 0; }; class b : public a { public: void foo(); void bar(); }; void b::foo() { //bla } void b::bar() { //blub } int main() { b test; }cu André
-
hast du auch die ganzen const's beachtet? Die gehören zu der Methodendeklaration dazu (d.h. 'sendEvent(union SDL_Event) const;' und 'sendEvent(union SDL_Event);' sind zwei völlig verschiedene Methoden).
-
pixartist schrieb:
die ganzen funktionen sind in SDL_Input virtuell und für SDL_Button sind sie definiert...
Das kann aufgrund der Fehlermeldungen nicht stimmen. Ich rezitiere:
pixartist schrieb:
[cpp]
e:\uni\code\pixgraph\sdl_dropdown.h(42) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event
const' : Rein virtuelle Funktion wurde nicht definiert
[/cpp]Vielleicht wäre es gut wenn du mal etwas mehr postest.
cu André
-
#ifndef SDL_Input_h #define SDL_Input_h 1 class SDL_Input { public: //cton typedef void ( *action )(SDL_Event *e); virtual void sendEvent(SDL_Event *event) = 0; virtual void setState(int s) = 0; virtual Vektor getPos() = 0; virtual Vektor getSize() = 0; virtual void setPos(Vektor v) = 0; virtual void setPos(int x, int y) = 0; virtual std::string getLabel() = 0; virtual void setLabel(std::string nLabel) = 0; virtual void paint(SDL_Surface *to) = 0; virtual ~SDL_Input(); bool active; }; #endif#ifndef SDL_Button_h #define SDL_Button_h 1 #include "SDL/SDL.h" #include "SDL/SDL_ttf.h" #include <string> #include "Vektor.h" #include "SDL_SurfaceWrapper.h" #include "SDL_Input.h" class SDL_Button : public SDL_Input { public: //cton typedef void ( *action )(SDL_Event *e); SDL_Button(); SDL_Button(SDL_SurfaceWrapper sNormal, SDL_SurfaceWrapper sHover, SDL_SurfaceWrapper sPressed, std::string label, TTF_Font *font, SDL_Color fColor, Vektor textAlign, action onPress, Vektor pos); //void sendEvent(SDL_Event *event); //void setState(int s); //Vektor getPos(); //Vektor getSize(); //void setPos(Vektor v); //void setPos(int x, int y); //std::string getLabel(); //void setLabel(std::string nLabel); //void paint(SDL_Surface *to); virtual ~SDL_Button(); //bool active; bool setHoverState(Vektor mousePos); bool setPressedState(Vektor mousePos); bool setClickedState(Vektor mousePos); private: Vektor textAlign; TTF_Font *lFont; SDL_Color lColor; SDL_SurfaceWrapper sNormal; SDL_SurfaceWrapper sHover; SDL_SurfaceWrapper sPressed; SDL_SurfaceWrapper sLabel; std::string label; action onPress; Vektor pos; int state; //0-> normal, 1-> hover, 2-> pressed }; #endif#include "SDL_Button.h" SDL_Button::SDL_Button() { } SDL_Button::SDL_Button(SDL_SurfaceWrapper sNormal, SDL_SurfaceWrapper sHover, SDL_SurfaceWrapper sPressed, std::string label, TTF_Font *font, SDL_Color fColor, Vektor textAlign, action onPress, Vektor pos) { this->sNormal = sNormal; this->sHover = sHover; this->sPressed = sPressed; this->label = label; this->onPress = onPress; this->pos = pos; this->state = 0; this->lFont = font; this->lColor = fColor; this->textAlign = textAlign; SDL_Surface *l = TTF_RenderText_Solid(this->lFont, this->label.c_str(),this->lColor); if(l!=NULL) { l = SDL_ConvertSurface(l, sNormal.surface->format, SDL_SWSURFACE); } sLabel = SDL_SurfaceWrapper(l); active = true; } void SDL_Button::sendEvent(SDL_Event *event) { if( event->type == SDL_MOUSEBUTTONDOWN ) { if( event->button.button == SDL_BUTTON_LEFT ) setPressedState(Vektor(event->button.x, event->button.y)); } else if( event->type == SDL_MOUSEBUTTONUP ) { if( event->button.button == SDL_BUTTON_LEFT ) setClickedState(Vektor(event->button.x, event->button.y)); } else if( event->type == SDL_MOUSEMOTION) { setHoverState(Vektor(event->motion.x, event->motion.y)); } if(onPress != NULL) onPress(event); } bool SDL_Button::setHoverState(Vektor mousePos) { if(active) { SDL_Surface *cSurf; switch(state) { case 0: cSurf = sNormal.surface; break; case 1: cSurf = sHover.surface; break; case 2: cSurf = sPressed.surface; break; default: cSurf = sNormal.surface; break; }; if(mousePos.x > pos.x && mousePos.x < pos.x+cSurf->w) { if(mousePos.y > pos.y && mousePos.y < pos.y+cSurf->h) { state = 1; return true; } else state = 0; } else { state = 0; } } else state = 0; return false; } bool SDL_Button::setPressedState(Vektor mousePos) { if(active) { SDL_Surface *cSurf; switch(state) { case 0: cSurf = sNormal.surface; break; case 1: cSurf = sHover.surface; break; case 2: cSurf = sPressed.surface; break; default: cSurf = sNormal.surface; break; }; if(mousePos.x > pos.x && mousePos.x < pos.x+cSurf->w) { if(mousePos.y > pos.y && mousePos.y < pos.y+cSurf->h) { state = 2; return true; } else state = 0; } else { state = 0; } } else state = 0; return false; } bool SDL_Button::setClickedState(Vektor mousePos) { if(active) { SDL_Surface *cSurf; switch(state) { case 0: cSurf = sNormal.surface; break; case 1: cSurf = sHover.surface; break; case 2: cSurf = sPressed.surface; break; default: cSurf = sNormal.surface; break; }; if(mousePos.x > pos.x && mousePos.x < pos.x+cSurf->w) { if(mousePos.y > pos.y && mousePos.y < pos.y+cSurf->h) { state = 1; return true; } else state = 0; } else { state = 0; } } else state = 0; return false; } void SDL_Button::setState(int s) { state = s; } Vektor SDL_Button::getPos() { return pos; } Vektor SDL_Button::getSize() { return Vektor(sNormal.surface->w, sNormal.surface->h); } void SDL_Button::setPos(Vektor v) { pos = v; } void SDL_Button::setPos(int x, int y) { pos.x = x; pos.y = y; } std::string SDL_Button::getLabel() { return label; } void SDL_Button::setLabel(std::string nLabel) { label = nLabel; } void SDL_Button::paint(SDL_Surface *to) { if(active) { int w,h; SDL_SetColorKey(sLabel.surface, SDL_RLEACCEL | SDL_SRCCOLORKEY, 0); switch(state) { case 0: w = (sNormal.surface->w - sLabel.surface->w)/2; h = (sNormal.surface->h - sLabel.surface->h)/2; sNormal.blitTo(to, pos.x, pos.y); sLabel.blitTo(to, pos.x+w+textAlign.x, pos.y+h+textAlign.y); break; case 1: w = (sHover.surface->w - sLabel.surface->w)/2; h = (sHover.surface->h - sLabel.surface->h)/2; sHover.blitTo(to, pos.x, pos.y); sLabel.blitTo(to, pos.x+w+textAlign.x, pos.y+h+textAlign.y); break; case 2: w = (sPressed.surface->w - sLabel.surface->w)/2; h = (sPressed.surface->h - sLabel.surface->h)/2; sPressed.blitTo(to, pos.x, pos.y); sLabel.blitTo(to, pos.x+w+textAlign.x, pos.y+h+textAlign.y); break; default: w = (sNormal.surface->w - sLabel.surface->w)/2; h = (sNormal.surface->h - sLabel.surface->h)/2; sNormal.blitTo(to, pos.x, pos.y); sLabel.blitTo(to, pos.x+w+textAlign.x, pos.y+h+textAlign.y); break; }; } } SDL_Button::~SDL_Button() { }achtung: ich stelle das programm grad um (vorher gabs die klasse input nicht und auch keine vererbung) sind also auch noch andere fehler drin...
fehlermeldungen hier:
--------------------Konfiguration: PixGraph - Win32 Debug--------------------
Kompilierung läuft...
main.cpp
e:\uni\code\pixgraph\sdl_dropdown.h(42) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\programme\visual studio components\vc98\include\list(29) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht definie
rt
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht definie
rt
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht defini
ert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht defini
ert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht
definiert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht
definiert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
SDL_Button.cpp
E:\Uni\code\PixGraph\SDL_Button.cpp(30) : error C2509: 'sendEvent' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(167) : error C2509: 'setState' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(171) : error C2509: 'getPos' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(175) : error C2509: 'getSize' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(179) : error C2509: 'setPos' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(183) : error C2509: 'setPos' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(188) : error C2509: 'getLabel' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(192) : error C2509: 'setLabel' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Button.cpp(196) : error C2509: 'paint' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
SDL_Dropdown.cpp
e:\uni\code\pixgraph\sdl_dropdown.h(42) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(42) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\programme\visual studio components\vc98\include\list(29) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht definie
rt
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht definie
rt
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(29) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht defini
ert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht defini
ert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\list(181) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht
definiert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht
definiert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
e:\programme\visual studio components\vc98\include\functional(185) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
e:\programme\visual studio components\vc98\include\list(285) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::binder2nd<struct std::not_equal_to<class SDL_Button> >'
e:\uni\code\pixgraph\sdl_dropdown.h(43) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::list<class SDL_Button,class std::allocator<class SDL_Button> >'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(8) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : error C2259: "SDL_Button" : Instanz von abstrakter Klasse kann aufgrund nachfolgender Elemente nicht erstellt werden:
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'void __thiscall SDL_Input::sendEvent(union SDL_Event *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(9) : Siehe Deklaration von 'sendEvent'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'void __thiscall SDL_Input::setState(int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(10) : Siehe Deklaration von 'setState'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'class Vektor __thiscall SDL_Input::getPos(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(11) : Siehe Deklaration von 'getPos'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'class Vektor __thiscall SDL_Input::getSize(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(12) : Siehe Deklaration von 'getSize'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'void __thiscall SDL_Input::setPos(int,int)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(14) : Siehe Deklaration von 'setPos'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'void __thiscall SDL_Input::setPos(class Vektor)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(13) : Siehe Deklaration von 'setPos'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall SDL_Input::getLabel(void)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(15) : Siehe Deklaration von 'getLabel'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'void __thiscall SDL_Input::setLabel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(16) : Siehe Deklaration von 'setLabel'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(15) : warning C4259: 'void __thiscall SDL_Input::paint(struct SDL_Surface *)' : Rein virtuelle Funktion wurde nicht definiert
e:\uni\code\pixgraph\sdl_input.h(17) : Siehe Deklaration von 'paint'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(40) : error C2509: 'sendEvent' : Member-Funktion nicht in 'SDL_Button' deklariert
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(61) : error C2819: Der Typ 'SDL_Button' hat keinen ueberladenen Elementoperator '->'
e:\uni\code\pixgraph\sdl_button.h(10) : Siehe Deklaration von 'SDL_Button'
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(61) : error C2227: Der linke Teil von '->active' muss auf Klasse/Struktur/Union zeigen
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(63) : error C2440: 'type cast' : 'class SDL_Button' kann nicht in 'class SDL_Button *' konvertiert werden
Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(63) : error C2227: Der linke Teil von '->setHoverState' muss auf Klasse/Struktur/Union zeigen
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(68) : error C2440: 'initializing' : 'class std::list<class SDL_Button,class std::allocator<class SDL_Button> >::iterator' kann nicht in 'class std::list<class SDL_Input *,class std::allocator<class SDL_Input *>::iterator' konvertiert werden
Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Ueberladungsaufloesung des Konstruktors ist mehrdeutig
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(68) : error C2678: Binaerer Operator '!=' : Kein Operator definiert, der einen linksseitigen Operator vom Typ 'class std::list<class SDL_Input *,class std::allocator<class SDL_Input *> >::iterator' akzeptiert (o
der keine geeignete Konvertierung moeglich)
E:\Uni\code\PixGraph\SDL_Dropdown.cpp(70) : error C2039: 'setHoverState' : Ist kein Element von 'SDL_Input'
e:\uni\code\pixgraph\sdl_input.h(5) : Siehe Deklaration von 'SDL_Input'
Fehler beim Ausführen von cl.exe.PixGraph.exe - 27 Fehler, 90 Warnung(en)
#ifndef SDL_Dropdown_h #define SDL_Dropdown_h 1 #include "SDL_Button.h" #include <list> class SDL_Dropdown : public SDL_Input { // public: typedef void ( *action )(SDL_Event *e); SDL_Dropdown(SDL_SurfaceWrapper sNormal, SDL_SurfaceWrapper sHover, SDL_SurfaceWrapper sPressed, std::string label, TTF_Font *font, SDL_Color fColor, Vektor textAlign, action onPress, Vektor pos); int addButton(SDL_SurfaceWrapper sNormal, SDL_SurfaceWrapper sHover, SDL_SurfaceWrapper sPressed, std::string label, TTF_Font *font, SDL_Color fColor, Vektor textAlign, action onPress); SDL_Button* getMainButton(); SDL_Button* getButton(int index); void dropDown(); void close(); void sendEvent(SDL_Event *event); void setState(int s); Vektor getPos(); Vektor getSize(); void setPos(Vektor v); void setPos(int x, int y); std::string getLabel(); void setLabel(std::string nLabel); virtual ~SDL_Dropdown(); bool active; int setHoverState(Vektor mousePos); int setPressedState(Vektor mousePos); int setClickedState(Vektor mousePos); void paint(SDL_Surface *to); private: bool opened; SDL_Button ddMain; std::list<SDL_Button> ddButtons; }; #endif