Why doesn't void();
here result in a compilation error?
How is this interpreted by the compiler based on the standard?
class X;
int main()
{
//void(int); error: expected primary-expression before 'void'
//void(void); error: expected primary-expression before 'void'
//void; error: declaration does not declare anything [-fpermissive]
//X(); error: invalid use of incomplete type 'class X'
void(0); // functional cast expression to void?
void(); // ???
}