This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 119a. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2025-12-20


3121. Zero-size arrays in function parameters

Section: 9.3.4.6  [dcl.fct]     Status: open     Submitter: Jan Schultke     Date: 2025-11-08

(From submission #797.)

Clarify that a zero-size array as a function parameter is ill-formed, because the array-to-pointer canonicalization happens later. There is implementation divergence.

Suggested resolution:

Change in 9.3.4.6 [dcl.fct] paragraph 4 as follows:

...
  void h(int x(const int));  // #3
  void h(int (*)(int)) {}    // defines #3

  void j(int[0]);            // error: int[0] is not a valid type