Maison > Article > développement back-end > Est-ce que `int main(const unsigned int, const char* const* argv);` est une signature valide pour la fonction principale de C ?
La norme définit deux signatures valides pour la fonction principale :
<code class="cpp">int main(); int main(int, char*[]);</code>
Ce L'article examine si la signature suivante serait légalement acceptée :
<code class="cpp">int main(const unsigned int, const char* const* argv);</code>
Considération de surcharge
La question se pose de savoir si la modification des types d'arguments pour inclure des qualificatifs non signés et const modifie la identité du principal, violant ainsi l'interdiction de surcharge de la norme.
Interprétation standard
La norme C 98 stipule que le principal :
Disponibilité du compilateur
Bien que la norme n'exige pas que les implémentations acceptent les environnements acceptant cette signature principale spécialisée, elle leur permet de le faire.
Conclusion
Par conséquent, la signature modifiée, int main(const unsigned int, const char* const* argv), est considérée comme une variante valide de main par les compilateurs conformes, démontrant la flexibilité de la norme pour s'adapter à l'implémentation. -aspects spécifiques de sa mise en œuvre.
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!