According to the convenient Hyperlinked C ++ BNF Grammar function call is as follows:
postfix-expression (expression-list opt )
list-list is just an initializer-list that looks like this:
initializer-clause ... opt
initializer-list, initializer-clause ... opt
where ellipses are the designation of the package extension.
A sentence initializer, in turn, can be assignment-expression or braced-init-list .
All this means that the ellipsis has a lower grammatical priority than any real operator, therefore, for example, the following equivalents:
foo(args ^= 0x1234...) and foo((args ^= 0x1234)...) foo(x ? args : 42...) and foo((x ? args : 42)...)
JohannesD
source share