The following code can be compiled with gcc-13 and clang-16, but MSVC reports multiple errors
using foo_type = void ((((int, const char*)))); // (1)
// Compiler messages for line (1):
// clang-16: ok.
// gcc-13: ok.
// MSVC-v19: error C2062: type 'int' unexpected.
foo_type foo;
int main()
{
foo(5, "Hello");
return 0;
}
The question is: who's right? Does the Standard allow alias-declaration
of a function type with multiple nested parentheses around argument list, like attempted in the example above?