Anfänger: return NULL liefert conversion Error
-
Hallo... Ich hab da (wahrscheinlich) eine Noop Frage:
Wieso liefert mir dieser Code beim return NULL den Fehler "conversion from `int' to non-scalar type" und wie verhindere ich diesen Fehler?:
TglForm TUIManager::getForm(int formID){ return NULL; };TglForm ist eine von mir definierte Klasse und sieht so aus:
class TglForm: public TglObject { private: list<TglComponent> components; list<int> subForms; public: };
-
NULL ist ein NULL-Pointer. Deine Methode liefert aber das Object zurueck und nicht den Pointer auf das Object. Also:
TglForm *TUIManager::getForm(int formID){ return NULL; };Wenn Du das Handhaben der Pointer vermeiden willst, so fange den NULL-Pointer (wahrscheinlich jener bei dem keine Form gefunden wird) mittel einer Exception ab.
-
ich denke du kannst NULL nur verwenden wenn du einen Zeiger auf das Form zurückgibst; denn der Zeiger kann ja NULL sein aber das Form afaik nicht.
also sollte die Funktion wie folgt aussehen :TglForm* TUIManager::getForm(int formID){ //.... return NULL; };
-
16 s Unterschied.
-
ich werde versuchen in Zukunft schneller zu werden

gute Nacht
-
Hmmm...verblüffend einfach... Danke
