2011-06-10 20 views
16

Se ho una funzione come segue:Come uscire da una funzione

void func() { 
    //... 

    if (condition) { 
     break; 
    } 
} 

Quando uso rompere mi dà un errore. C'è un altro modo per uscire da una funzione usando una condizione if e per completare la compilazione del codice normalmente?

+0

Ciò è probabilmente dovuto al l'idea sbagliata che se è indicato come "se loop" da molte persone. In realtà è "se condizione". –

risposta

25

interruzione viene utilizzata nei loop e nell'istruzione switch. utilizzare invece return.

+12

Si noti che 'return' funziona anche se la funzione ha un tipo di ritorno' void'. Basta scrivere "return" in quel caso. –

2

In C++, è possibile return da una funzione ogni volta che vuoi.

5

uso return;:

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

2

Basta usare return.

Maggiori informazioni possono essere trovate here.

0

break è quello di uscire da un ciclo o un costrutto switch.

Utilizzare invece return con un valore facoltativo.

3

Provare a utilizzare 'return' in caso di interruzione quando si esegue normalmente il codice di riposo.

Usa 'pausa' in caso di switch o ciclo di esecuzione normale

Usa 'uscita' per forza di arresto in esecuzione

0

sufficiente impostare la variabile incremento di un numero che provoca la loop per rompere. Ad esempio:

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

che non è proprio la risposta, Shadi ha chiesto come uscire dalla funzione, un ritorno vuoto farebbe il trucco. – prmottajr

0

Basta usare la dichiarazione return che non restituisce nulla. Come:

if(predicate) 
return;