Test code ([CE](https://godbolt.org/z/sonKejdv1)): ```cpp void f(int = {}...); // OK struct S { void f(int = {}...); // Clang: error: unexpected end of default // argument expression void g(int...); // OK }; void S::g(int = {}...) {} // OK ``` As shown above, this syntax compiles fine for function declarations outside the class, but not for in-class ones. This is inconsistent behavior.