Funktionsrückgabewert



  • Hallo,

    meine funktion gibt einen Fehlerstatus zurück . Aber nur wenn es innerhalb der Funktion zu einem fehler kommt. Sonst gibt sie gar nichts zurück.
    Wie kann ich mir jetzt den Rückgabewert "abholen". Es kommt immer eine Fehlermeldung weil der Fehler in der Funktion nicht auftritt *hihi*
    Folglich heißt es immer void kann nicht in int konvertiert werden.

    ok. Danke !



  • Wenn du einen Rückgabewert bei deiner Funktion hast dann mußt du auch imemr was zurückgeben. Das heist wenn du damit Fehlercodes ausgibst mußt du einen Fehlercode deffinieren der zurückgegeben wird wenn kein Fehler aufgetreten ist, mal was zurückgeben und mal nicht geht nicht.



  • Ich hätte das jetzt schlicht und ergreifend mit "Nein." beantwortet 🙂
    (@Xebov nicht deine Antwort, das Kopfposting meine ich)



  • wenn du das unbedingt willst, dann speichere es doch in einer globalen Variable 😉
    Dann nimmst du einen Default Wert als "keine Rückgabe" und wenn was drin steht, dann steht was drin ^^

    (sofern ich dich richtig verstanden habe)



  • bool funktion(int x)
    {
    bool x=true;

    if(x>status){return x)

    x++;

    }

    int x=5; bool check;

    check=funktion(x); //akt. status =3

    //Compiler gibt fehlermeldung



  • logisch das er einen Fehler gibt du hast dort zwei variablen die gleich heißen 😛



  • blurry333, du Pfosten!

    Deine Funktion hat den Return-Typ bool , d.h. du musst immer einen bool zurückgeben. Alles andere ist ein Fehler.



  • Firefighter schrieb:

    logisch das er einen Fehler gibt du hast dort zwei variablen die gleich heißen 😛

    Ach, kann man denn nicht einfach alle Variablen in einem Programm x nennen? Das erklärt einiges... 🤡 😃



  • LOL 😃
    hustbaer 😃 Wie würde mein Lehrer sagen "wunderbare Geschichte" 😃



  • hustbaer schrieb:

    Deine Funktion hat den Return-Typ bool , d.h. du musst immer einen bool zurückgeben.

    Macht er doch. Ich bin sicher, er wollte das bool-x zurückgeben, abhängig davon ob das int-x > status ist. 🤡



  • ich würde mal schätzen du meinst das:

    bool funktion(int x){
    
        if(x>status){
            return true;
        }
        else{
            x++;
            return false;
        }
    }
    


  • _matze schrieb:

    hustbaer schrieb:

    Deine Funktion hat den Return-Typ bool , d.h. du musst immer einen bool zurückgeben.

    Macht er doch. Ich bin sicher, er wollte das bool-x zurückgeben, abhängig davon ob das int-x > status ist. 🤡

    Nein, macht er nicht. Er beschreibt diesen Unfug ja auch ganz explizit im Kopfposting.

    Was er wollte - keine Ahnung, frag ihn. Wenn du viel Glück hast antwortet er dir, und wenn du noch viel viel mehr Glück hast ist die Antwort dann etwas was man auch verstehen kann.


Anmelden zum Antworten