C++ Goto Point in die Main Funktion außerhalb der main Funktion

Beantwortet C++ Goto Point in die Main Funktion außerhalb der main Funktion

  • Dienstag, 22. Januar 2013 17:30
     
     

    Hallo erstmal,

    Ich hab da eine Frage zu C++.

    Gibt es die Möglichkeit zu einem goto Point zu springen der in der main Funktion ist obwohl ich den goto Sprung nicht in die main Funktion schreibe?

    Der Text von dem ich in die main Funktion springen will ist in einer void Funktion die in der main Funktion später aufgerufen wird.

    Ps: Ja ich weiß das es besser ist wenn man den Befehl do while benutzt aber ich brauche jetzt in diesem Fall eben den Befehl goto

    und ja ich weiß das man lieber die main Funktion so leer wie möglich halten sollte.

Alle Antworten

  • Dienstag, 22. Januar 2013 22:26
     
     Beantwortet

    Hallo

    Der C++ Standard sagt hier ganz klar "The scope of a label is the function in which it appears.". Es geht also nicht.

    Aber von wegen "nutzt while und kein goto" -> da bin ich total anderer Meinung: goto ist genau so nützlich wie while, for, if und so weiter. Und in manchen Fällen auch viel übersichtlicher! oder schlicht die einzige Möglichkeit gewisse Konstrukte zu erzeugen.

    Gruss, Rudolf

  • Mittwoch, 23. Januar 2013 05:56
     
     

    Nein, es ist nicht möglich. Verwende dazu Funktionen.


    Jochen Kalmbach (MVP VC++)
  • Mittwoch, 23. Januar 2013 07:05
    Moderator
     
     

    Dem was Rudolph gesagt hat gibt es eigentlich nichts hinzuzufügen.

    Es würde auch garnicht gehen. Whon soll die Funktion denn zurück, wenn mal der return kommt. Wie sollen denn Variablen im Scope behandelt werden.

    Denk mal drüber nach... das muss eigentlich jede nicht lineare Sprache verbieten.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

  • Dienstag, 29. Januar 2013 14:34
    Moderator
     
     

    Hallo,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Wenn nein, neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.

    Danke und viele Grüße,
    Ionut