2008-12-06 11 views
135

Comment pouvez-vous quitter prématurément une fonction si c'est une fonction vide? J'ai une méthode void qui ne doit pas exécuter son code si une certaine condition est vraie. Je ne veux vraiment pas avoir à changer la méthode pour retourner une valeur.Comment quittez-vous une fonction void en C++?

+6

En dépit que c'est une question très simple, j'ai remisé car j'avais le même problème quand j'ai écrit mon premier programme C :) – rmeador

+8

@itsbunnies: Comme mentionné ailleurs, il n'y a pas de questions de programmation trop simples pour être posées sur SO. Si vous avez eu des problèmes avec cela, il en a été de même pour quelqu'un d'autre dans le passé et quelqu'un d'autre dans le futur. –

+0

@BilltheLizard: Qu'en est-il du premier programme qui a * jamais * eu ce problème? Qui avait ce problème dans * son * passé? ;-) – flarn2006

Répondre

159

Utilisez une instruction de retour!

return; 

ou

if (condition) return; 

Vous n'avez pas besoin (et ne peut) préciser les valeurs, si votre méthode retourne void.

+2

Encore plus au point : vous ne devez pas spécifier de valeur de retour si votre méthode renvoie void. –

+0

Aha, alors quand nous écrivons retourner; ne rien retourner signifie retourner le vide lui-même hein? void ne veut rien dire de toute façon !! Hmm, je comprends maintenant. – quantum231

+0

@ quantum321 Je pense que la valeur de retour est techniquement indéfinie, pas vide, mais la considérer comme "vide" est utile. –

11

Vous voulez dire comme ça?

void foo (int i) { 
    if (i < 0) return; // do nothing 
    // do something 
} 
9
void foo() { 
    /* do some stuff */ 
    if (!condition) { 
    return; 
    } 
} 

Vous pouvez simplement utiliser le mot-clé de retour tout comme vous le feriez dans une autre fonction.

Questions connexes