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++?
Répondre
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
.
Encore plus au point : vous ne devez pas spécifier de valeur de retour si votre méthode renvoie void. –
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
@ quantum321 Je pense que la valeur de retour est techniquement indéfinie, pas vide, mais la considérer comme "vide" est utile. –
Vous voulez dire comme ça?
void foo (int i) {
if (i < 0) return; // do nothing
// do something
}
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.
- 1. Comment faire pour importer void * C API en C#?
- 2. void * à Object^en C++/CLI
- 3. Que signifie "(void) new" en C++?
- 4. Y at-il une différence entre foo (void) et foo() en C++ ou C?
- 5. Comment puis-je appeler une fonction masquée en C++?
- 6. Coulée entre void * et un pointeur vers la fonction membre
- 7. Objective-C: différence entre id et void *
- 8. Comment appeler une fonction dynamiquement en fonction d'un type d'objet
- 9. Passer une fonction à une autre fonction en C. Que fais-je de mal?
- 10. Comment appeler une fonction juste avant de revenir en C?
- 11. Ajout de void main() wpf
- 12. fonction abs en C
- 13. C++ écrire une fonction modify_if
- 14. Comment accepter n'importe quel type de nombre dans une fonction en tant qu'argument en C#?
- 15. En utilisant une variable pour représenter une fonction dans C
- 16. De retour d'une fonction en C#
- 17. Comment appeler une fonction seulement une fois par valeur en C++?
- 18. Appel fonction C++ de C#
- 19. Les pointeurs de fonction coulent en C++
- 20. Est-il possible d'appeler une fonction non statique à l'intérieur d'une fonction statique en C#?
- 21. Comment puis-je correctement rediriger le pointeur de void * vers TMemo * dans C++ Builder2009?
- 22. - (void) processImage: (char *) image; --- char * provoque une fuite de mémoire?
- 23. Comment passer une carte 2D en tant que paramètre à une fonction en C++?
- 24. void * comme type de variable inconnue
- 25. Conversion (void *) en std :: vector <unsigned char>
- 26. Déclarant type pour une fonction sans canevas en C#
- 27. appelant une fonction C en utilisant du cacao
- 28. Rhino Mocks, void et propriétés
- 29. Comment convertir une chaîne en ascii en binaire en C#?
- 30. Comment puis-je transmettre une fonction par référence pour un rappel de rapport en C++/CLI?
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
@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. –
@BilltheLizard: Qu'en est-il du premier programme qui a * jamais * eu ce problème? Qui avait ce problème dans * son * passé? ;-) – flarn2006