2011-06-10 24 views
16

Jeśli mam funkcję w następujący sposób:Jak wyjść z funkcji

void func() { 
    //... 

    if (condition) { 
     break; 
    } 
} 

Kiedy używać przerwać to daje mi błąd. Czy istnieje inny sposób na wyjście z funkcji przy użyciu warunku if i do ukończenia kompilowania kodu normalnie?

+0

Jest to prawdopodobnie ze względu na błędne przekonanie, że jeśli jest oznaczona jako „if pętli” przez wielu ludzi. W rzeczywistości jest to "jeśli warunek". –

Odpowiedz

25

przerwa jest używana w pętli i instrukcji switch. zamiast tego użyj return.

+12

Należy zwrócić uwagę, że 'return' działa nawet wtedy, gdy funkcja ma typ zwrotu 'void'. Po prostu napisz "return;" w takim przypadku. –

2

W C++, możesz return z funkcji w dowolnym momencie.

5

użycie return;:

if(/*condition*/) { return; }

2

Wystarczy użyć return.

Więcej informacji można znaleźć here.

0

break jest wyjście z pętli lub konstrukcji switch.

Zamiast tego należy użyć return z opcjonalną wartością.

3

Spróbuj użyć "wróć" w miejsce przerwy, gdy nie chcesz normalnie uruchamiać kodu.

Przymież „przerwa” w przypadku przełącznik lub pętlę o normalnym wykonywaniu

Przymież „exit” do ogranicznika sił w realizacji

0

należy ustawić zmienną przyrost na liczbę, która powoduje, że pętla do zerwania. Na przykład -

void calculate() { 
    for(i=0;i<10;i++) { 
     i=11; 
    } 
} 
+0

to nie jest odpowiednia odpowiedź, Shadi zapytał, jak wyjść z tej funkcji, powrót próżności wystarczy. – prmottajr

0

Po prostu użyj return oświadczenie, że nic nie zwracają. odczuwalna:

if(predicate) 
return;