Version: GCC 11.2 (msys2 mingw-w64 X86_64) When a macro have more than one arguments, and u call it with no argument, gcc will compliant with " only 1 given" instead of " 0 given"
Demo code: #define TEST(x,y) test(x,y) int main() { int x=TEST(); }: Error message: F:/test.cpp:4:20: error: macro "TEST" requires *2* arguments, but only *1* given 4 | int x=TEST(); | ^