Funktion 1 -> Funktion 2 zuweisen



  • n' guten 😉

    hab folgendes Problem.. ich arbeite gerade an einer kleinen Übung und da hab ich das Problem, dass ich die Daten aus einer anderen Funktion den Daten aus meiner derzeitigen Funktion zuweisen möchte, doch etwas klappt da anscheinend nicht^^

    Bisher hab ich erstmals diese Funktion:

    void option_offtyp_div(std::string db_name, std::string db_pw, std::string name, std::string passwort)
    

    und daraus sollte dann folgendes sein:

    // registrierungs_func(dbname, dbpasswort) = name, passwort;
    // loginfunc(name, pw) = name, passwort;
    

    Wobei registrierungs_func eine Funktion ist, mit der man sich in einem kleinen Spiel anmeldet(registriert mit neuem Namen, neuen Passwort,usw..) und beim Login sollte es eine Abfrage geben:

    Wenn REGISTRIERUNGSDATEN == LOGINDATEN dann
    {
    passiert etwas 😃
    } Sonst {
    naja XD
    }

    Ich danke schon im Voraus für zahlreiche Antworten 😉

    mfg
    TheDevMen



  • EDIT:

    Hallo nochmals

    ich hatte vergessen zu erwähnen,dass bei

    registrierungs_func(dbname, dbpasswort, dbetwasanderes)
    {
    
    }
    

    3 Parameter stehen und im Login nur 2.

    Das ist das Problem 😞



  • öhm... ich glaube du solltest dein problem nochmal genauer beschreiben, weil ich da gar keinen sinn erkenne drin was du machen willst. Auch noch nicht genau, was denn dann zum schluss rauskommen soll.

    Suchst du vielleicht funktoren, boost::bind oder funktionspointer?



  • Maxi schrieb:

    öhm... ich glaube du solltest dein problem nochmal genauer beschreiben, weil ich da gar keinen sinn erkenne drin was du machen willst. Auch noch nicht genau, was denn dann zum schluss rauskommen soll.

    Suchst du vielleicht funktoren, boost::bind oder funktionspointer?

    hi,

    also so meinte ich das:

    if(menu_login(name, passwort) == menu_register(name, passwort)
    {
    //...
    }
    

    Dabei ist aber folgender Fehler aufgetreten:

    41: error: void value not ignored as it ought to be
    41: error: void value not ignored as it ought to be
    

    mfg



  • Hallo,
    deine Funktionen müssen die Daten, die du brauchst als Rückgabewert liefern. Deine Funktionen haben hingegen alle void als Rückgabewert, liefern also keine Ergebnisse und sind somit strenggenommen keine Funktionen sondern Prozeduren. Lies am Besten mal ein Tutorial oder ein Einsteigerbuch.

    http://tutorial.schornboeck.net/funktionen.htm
    http://www.volkard.de/vcppkold/funktionen.html



  • HumeSikkins schrieb:

    Hallo,
    deine Funktionen müssen die Daten, die du brauchst als Rückgabewert liefern. Deine Funktionen haben hingegen alle void als Rückgabewert, liefern also keine Ergebnisse und sind somit strenggenommen keine Funktionen sondern Prozeduren. Lies am Besten mal ein Tutorial oder ein Einsteigerbuch.

    http://tutorial.schornboeck.net/funktionen.htm
    http://www.volkard.de/vcppkold/funktionen.html

    hallo,

    sorry,dass ich das sage,aber es muss unbedingt ein void sein, weil string funktionen nur einen Wert zurückgeben 😞

    Was müsste ich tun,damits geht?

    mfg
    TheDevMen



  • Hallo nochmal.

    ich hab darüber nachgedacht und würde gerne fragen, wie man es so umstellen könnte,damit es noch immer seinen Zweck erfüllt?
    Also dass noch immer void der Rückgabewert der funktion ist(ohne rückgabe, nur meine ich dass ich mit der funktion mit "void xxx()" anfangen möchte)?

    mfg
    TheDevMen



  • TheDevMen schrieb:

    sorry,dass ich das sage,aber es muss unbedingt ein void sein, weil string funktionen nur einen Wert zurückgeben 😞

    Sorry, dass ich das sage, aber das ergibt überhaupt keinen Sinn.

    void bedeutet gerade, dass die Funktion *keinen* Wert liefert. Ich denke du hast hier noch ein paar grundsätzliche Verständnisprobleme.



  • HumeSikkins schrieb:

    TheDevMen schrieb:

    sorry,dass ich das sage,aber es muss unbedingt ein void sein, weil string funktionen nur einen Wert zurückgeben 😞

    Sorry, dass ich das sage, aber das ergibt überhaupt keinen Sinn.

    void bedeutet gerade, dass die Funktion *keinen* Wert liefert. Ich denke du hast hier noch ein paar grundsätzliche Verständnisprobleme.

    hi

    kannst du mir bitte nur sagen, wie ich das Programm nun korrigieren kann?

    mfg



  • Hallo

    Lies dir doch mal die Links durch.

    chrische



  • chrische5 schrieb:

    Hallo

    Lies dir doch mal die Links durch.

    chrische

    hallo

    danke für die schnelle antwort 😉

    Also ich habe dieses Tutorial ja schon durchgearbeitet, aber leider steht das ja nur nur nicht das was ich genau suche.
    und zwar wie es bei meinem code richtig umgestellt gehört.

    mfg
    TheDevMen



  • Hume hat doch nu schon die Antwort gesagt. Wenn deine funktionen etwas zurückgeben müssen, dann dürfen sie nich void als rückgabewert haben!

    int function1(int bla, int blub)
    {
      return bla+blub;
    }
    
    if(function1(3,4) == 7)
      cout << "richtig" << endl;
    

    Oder was is nu dein problem...


Anmelden zum Antworten