Pause und label, die "Das label MyLabel fehlt"
Ich habe einen code wie folgt:
if(condition1)
{
break MyLabel;
}
while(true)
{
//some code here
MyLabel: if(condition2) break;
//more code here
}
und ich bekomme diese Fehlermeldung:
Dem label MyLabel fehlt.
Was ist falsch?
InformationsquelleAutor der Frage Lrrr | 2012-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nur durchbrechen, um eine Bezeichnung, die auf eine textlich umschließenden - Anweisung. In deinem Beispiel ist das label NICHT auf eine Anweisung, umschließt die
break
- Anweisung.(Für was es Wert ist, auch höhere Programmiersprachen, unterstützen
goto
nicht erlauben, Sie zu einem Sprung in der Mitte von einer Schleife von außen. Ich denke da an C ... und ältere Sprachen wie FORTRAN.)Java erlaubt Sie zu brechen, aber Einbruch ist illegal ... und erhalten Sie verhaftet 🙂
(Sorry, ich konnte nicht widerstehen. Für diejenigen, die nicht bekommen, der Witz, ein "break in" ist, wenn jemand in Ihrem Haus zu stehlen Sachen - siehe "break and enter" ... )
InformationsquelleAutor der Antwort Stephen C
Du nicht verwenden Sie Etiketten, die als goto in, Allgemeinen Weg.
Verwenden Sie Etiketten, die, wenn Sie wollen, springen Sie eine höhere Ebene der verschachtelte code.
beispielsweise
InformationsquelleAutor der Antwort Farmor