error: invalid use of void expression



  • So hab nen Problem mit nem Rückgabetyp, die im Titel stehende Fehlermeldung erscheint.

    Die MemberFunktion der Klasse:

    string BINARYTREE::getTree()
    {
    	Inorder(root); //füllt den String
    	return inhalt;
    }
    

    Und der Aufruf in der main:

    baum= new PARSER(formel);
    	string test;
    	test.append(baum->getTree());
    

    Hab keine Ahnung woher der Fehler kommt weil der Rückgabetyp ja string und nicht void ist. Danke schonmal für die Hilfe.



  • bitte ein bischen mehr von der klasse zeigen 😉



  • Was willste denn noch alles sehn? Also das Inorder füllt den string Ordnungsgemäß, wenn ich den direkt in der getTree() Ausgebe funktioniert es einwandfrei. PARSER nimmt den string formel auseinander und funktioniert auch.



  • Haben die Klassen PARSER und BINARYTREE eine Beziehung zueinander? Falls nicht, ist BINARYTREE::getTree die komplett falsche Baustelle. Wie sieht denn PARSER::getTree aus?



  • *Brettvomkopffall* Ja jetzt wo dus sagst seh ichs auch. ICh denke damit ist das gelöst. Danke.



  • das will ich: "inhalt"
    im moment siehst für mich so aus,dass du ne variable zurückgibst, die du in der funktion nicht benutzt hast, ich kann nur raten, dass inhalt in der Klasse definiert wird, und von inorder gefüllt wird,mehr nicht.

    desweiteren fehlt mir die codezeile wo der fehler auftritt:
    hier?

    baum= new PARSER(formel);
    

    oder hier?

    test.append(baum->getTree());
    

    oder ganz woanders? 😉

    achja, die definition von baum fehlt auch noch, woher soll ich das wissen, dass das ne polymorphe schnittstelle ist?

    //edit wusste ichs doch, auch wenn ich zuspät war 😃


Anmelden zum Antworten