Maison > Article > développement back-end > Où définir les paramètres par défaut en C : déclaration ou définition ?
En C, les fonctions peuvent être déclarées avec des paramètres par défaut, ce qui leur permet d'être appelées sans fournir de valeurs pour tous les arguments. Cependant, la syntaxe de spécification du paramètre par défaut peut varier.
Cas 1 :
<code class="cpp">int Add(int a, int b = 3); int Add(int a, int b);</code>
Cas 2 :
<code class="cpp">int Add(int a, int b); int Add(int a, int b = 3);</code>
Les deux syntaxes sont valides. Cependant, l'approche standard et recommandée est le Cas 1, où le paramètre par défaut est spécifié dans la déclaration de la fonction. En effet :
Considérez le scénario suivant :
Dans le cas 1 :
Le compilateur verra la déclaration du paramètre par défaut dans le fichier d'en-tête lors de la compilation de test.cpp. Cela garantit que l'appel à la fonction dans test.cpp est valide, même si le paramètre par défaut n'a pas été explicitement fourni.
Dans le cas 2 :
Le compilateur ne voit pas la déclaration du paramètre par défaut dans le fichier d'en-tête lors de la compilation de test.cpp, car elle n'est définie que dans le fichier d'implémentation (lib.cpp). Cela entraînera une erreur de compilation dans test.cpp, car le paramètre par défaut n'a pas été déclaré.
Par conséquent, spécifier le paramètre par défaut dans la déclaration de fonction (lib.h) est le moyen standard de garantir un comportement cohérent à travers différentes unités de compilation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!