Funktionsaufruf nicht möglich!

  • C++/CLI

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Jonnyb170.

    Funktionsaufruf nicht möglich!

    Hallo erstmal!
    Vor kurzer Zeit habe ich mir ein Buch für C++ gekauft, womit ich auch zufrieden bin.
    Nun habe ich probiert ein Kleines Zahlen- oder eher Würfelspiel zu coden.
    Das ganze noch auf Basis einer Konsolenanwendung, da ich noch nicht so weit bin, um Windowsfenster zu programmieren.
    Der Code ist noch vollkommen unsinnig, aber mir ist aufgefallen, dass es nicht möglich (Zumindest für mich nicht, das Buch wollte mir auch nicht helfen) diese eine Funktion aufzurufen,
    ohne, dass ich vom Compiler angepflaumt werde:
    (Anhang)

    Hier der Code:

    C-Quellcode

    1. ​#include "iostream"
    2. using namespace std;
    3. //Prototypen
    4. //
    5. int Menue(int Auswahl);
    6. int main()
    7. {
    8. //Menü öffnen
    9. Menue(int Auswahl);
    10. return 0;
    11. }
    12. //Menü
    13. int Menue(int Auswahl)
    14. {
    15. //Was als nächstes tun?
    16. cout << "1: Starten" << endl << "2: Modus auswählen" << endl << "3 Beenden" << endl;
    17. cin >> Auswahl;
    18. switch (Auswahl)
    19. {
    20. case(1) :
    21. {
    22. break;
    23. }
    24. case(2) :
    25. {
    26. //Modi Auswählen:
    27. cout << "1: Modus 1 " << endl << "2: Modus 2" << endl << "3: Modus 3" << endl;
    28. break;
    29. }
    30. case(3) :
    31. {
    32. break;
    33. }
    34. //Auswahl zurückgeben
    35. return Auswahl;
    36. }
    37. }
    38. //Ende


    Danke schonmal und allen noch einen schönen Tag!
    LG
    Jonny :D
    Bilder
    • Fehler.PNG

      16,04 kB, 1.649×190, 101 mal angesehen

    Jonnyb170 schrieb:

    C-Quellcode

    1. Menue(int Auswahl);
    Machst Du:

    C-Quellcode

    1. int Auswahl = 2;
    2. Menue(Auswahl);
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    D

    Jonnyb170 schrieb:

    ein Buch für C++
    sagt dazu was?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Mein Buch für C++
    sagt: "Wir erzeugen in Zeile 17 eine Variable namens Punkte und weisen dieser einfach mal den Wert 1000 zu. In Zeile 19 geben wie diesen Wert noch zur Bestätigung aus. Jetzt rufen wir in Zeile 21 die Funktion erhöhe Punkte auf und übergeben dieser unsere oben erzeugte Variable. Schaut man sich jetzt diese Funktion an, so sieht man, dass die übergebene Variable um den Wert 100 erhöht wird. Erstaunlicherweise ist der Wert trotzdem gleich geblieben."
    Hätte ich mal umgeblättert:
    Der Stack.
    Das vor dem Methodennamen ist der Typ des Rückgabewertes (das bei Return).
    Das in den Klammen sind Variablen, die die Methode vom Aufrufer braucht.
    Deine Methode braucht von außen nix, also kannst du dir das in den Klammern auch sparen.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Schreib Die Funktionsprototypen auch mal in die Headerdatei.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: