Your question is as if built on the implicit assumption that the admissibility of such a construction in terms of the grammar of a language in some way implies its “necessity” or “meaningfulness”.
This is a wrong assumption.
A competent design of the language just requires the choice of a reasonable distribution of areas of responsibility between the formal syntax (ie, grammar) and additional rules, described separately, "in words." Attempts to implement all sorts of such restrictions entirely at the level of the grammar of the language would have led to incredibly overcomplicated grammar. In this case, obviously, it was decided not to try to implement this restriction at the grammar level.
The specification of C and C ++ languages contains a huge number of examples of such situations where restrictions that could be attributed to purely syntactic ones (perhaps with a certain stretch) are nevertheless implemented not at the level of the grammar of the language, but as separately described restrictions.
For example, in the C language (and, until relatively recently, in C ++) it was forbidden to use the comma operator in constant expressions. However, despite the fact that the grammars of these languages have separate non-terminal characters for the "constant expression", this prohibition was implemented at the grammar level only for the top-level commas. A ban on the use of deeper commas (inside parentheses) in the grammar is not reflected, but formulated in the language specification "in words", because it would be too wasteful to build a completely independent sub-grammar of constant expressions.