5 Expressions [expr]

5.2 Postfix expressions [expr.post]

5.2.1 Subscripting [expr.sub]

A postfix expression followed by an expression in square brackets is a postfix expression. One of the expressions shall have the type β€œpointer to T” and the other shall have unscoped enumeration or integral type. The result is an lvalue of type β€œT.” The type β€œT” shall be a completely-defined object type.62 The expression E1[E2] is identical (by definition) to *((E1)+(E2))Note: see [expr.unary] and [expr.add] for details of * and + and [dcl.array] for details of arrays.  β€” end note ]

A braced-init-list shall not be used with the built-in subscript operator.

This is true even if the subscript operator is used in the following common idiom: &x[0].