FEHLER: Label "foo" verwendet, aber nicht definiert

Also ich wurde herumalbern mit C++ und habe die zuvor genannten Fehler mit dem code, der sah irgendwie aus wie diese:

#include <iostream>
using namespace std;

char foodstuffs;

void fruit()
{
cin>>foodstuffs;
switch(foodstuffs)
{
case 'a': goto foo; break;
case 'b': goto fooo; break;
}
}

int main()
{
cout<<"What do you want to eat? (a/b)";
fruit();
foo: cout<<"You eat an apple.";
fooo: cout<<"You eat a banana.";
}

Den genauen code war viel komplexer, aber dies ist nur zu zeigen, dass Sie die Fehler, die ich bekam.

Nun merke ich, dass jeder verachtet die "goto" - Anweisung aus irgendeinem Grund, aber meine eigentliche code ist voll von so vielen gotos, dass ich nicht wirklich die Zeit/Geduld, zurück zu gehen und ändern Sie alle. Auch ich bin irgendwie ein Neuling, Programmierer, und ich finde gotos und labels werden sehr einfach zu bedienen.

Meine Frage ist wie kann ich vordefinieren diese Etiketten, so dass die Funktion Frucht() weiß, was Sie sind? Auch ich brauche, um dies zu tun, ohne die Etiketten aus der main-Funktion.

Finden Sie die gotos und labels, die einfach zu bedienen, aber extrem schwer, zurück zu gehen und ändern. Das, mein Freund, ist der Grund, warum jeder hasst Sie.
warum goto? wie chris schon sagte, jeder hasst Sie 😉
Der wichtigste Punkt ist, haben Sie gesehen, wie Sie den code schwer zu Lesen, Folgen Sie, verstehen und pflegen. Es gibt ein paar gültige Verwendungen, wo goto wohl macht code sauberer, und ich persönlich würde nicht bestrafen goto wenn der resultierende code war sauberer, aber es ist definitiv nicht etwas zu sein, geworfen, aus einer Laune heraus.
Das ist, weil Sie das nicht können. Sie müssen sich selbst helfen, indem Sie lernen, nicht zu verwenden goto.
Wenn ich könnte, würde ich downvote alle Menschen, die statt der Beantwortung der Frage darüber streiten, ob springen oder nicht. Und damit nicht genug: auch downvote die Frage. Hallo: die Frage war nicht, ob Sie mit springen gut ist oder nicht.

InformationsquelleAutor HurricaneFist | 2013-05-31

Schreibe einen Kommentar