D'un point de vue grammatical, les paramètres d'un appel de fonction forment un en option expression liste entre parenthèses. Une liste d'expressions consiste en une ou plusieurs expressions d'affectation séparées par un jeton de virgule. Une virgule peut seulement signifier un opérateur de virgule où une expression est attendue.
L'opérateur virgule fait une expression sur une expression, un ,
et une cession d'expression, mais une expression impliquant un opérateur virgule n'est pas lui-même une expression d'affectation donc peut » t apparaissent dans une liste d'expressions sauf si c'est un constituant de quelque chose qui est une expression d'affectation .
Par exemple, vous pouvez entourer toute expression (dont un en utilisant l'opérateur virgule) à l'intérieur entre parenthèses à partir d'une primaire expression qui est une mission d'expression et donc valable dans une expression liste .
E.g.
postfixe-expression où l'expression liste se compose de deux-expression d'affectation dont chacun est un identificateur .
f(a, b);
postfixe-expression où l'expression liste consiste en un seul -expression d'affectation qui est un -expression primaire qui est un entre parenthèses expression en utilisant l'opérateur virgule.
f((a, b));
Quelles sont les "constructions similaires"? – Philipp
@Philipp: Fondamentalement, ces constructions dans lesquelles la grammaire décrit explicitement la signification de la virgule. La liste ci-dessus ignore les déclarations de membres et d'amis, qui sont très similaires aux déclarations de variables. Un autre exemple serait une expression d'objet temporaire telle que 'Complex (0,1)' qui est similaire à un appel de fonction. – MSalters
+1 pour une réponse super concise. – stinky472