Liste de déclaration d'arguments

La partie d'une déclaration de fonction correspondant à la liste des déclarations d'arguments :

  • permet au compilateur de vérifier la cohérence des types parmi les arguments que la fonction requiert et les arguments fournis dans l'appel ;

  • permet de réaliser des conversions, implicites ou définies par l'utilisateur, du type d'argument fourni vers le type d'argument requis ;

  • vérifie les initialisations des pointeurs vers les fonctions, ou les assignations à ces derniers ;

  • vérifie les initialisations des références aux fonctions, ou les assignations à ces références.

Si plusieurs déclarations d'arguments sont répertoriées, elles sont séparées par des virgules.

Les fonctions qui peuvent prendre un nombre variable d'arguments sont spécifiées à l'aide de l'opérateur ellipse (…) à la place des arguments variables. Si l'ellipse est présente, elle doit être le dernier élément de la liste d'arguments. Reportez-vous à la rubrique Listes d'arguments variables.

Chaque déclaration d'arguments comporte les éléments suivants :

  • Des spécificateurs de déclaration, notamment le spécificateur de type. Plus précisément, cela signifie :

    • un spécificateur de classe de stockage auto ou register,

    • const et/ou volatile,

    • le spécificateur de type.

  • Un déclarateur, qui peut être abstrait. Un déclarateur non abstrait permet de nommer l'argument ; un déclarateur abstrait spécifie un argument anonyme. Plus précisément, cela signifie :

    • un caractère * ou & facultatif spécifiant un pointeur ou une référence,

    • un identificateur facultatif servant à nommer l'argument,

    OU

    • tout déclarateur complexe spécifiant une combinaison quelconque d'un pointeur, d'une référence, d'un pointeur fonction et d'un tableau pour spécifier complètement le type.
  • Un initialiseur spécifiant la valeur par défaut de l'argument. Spécifiquement, les initialiseurs d'arguments se composent :

Notez qu'un grand nombre des mots clés spécifiques à Microsoft peuvent figurer dans les spécificateurs de déclaration et dans la déclaration du nom.

Voir aussi

Référence

Déclarations de fonctions