See this #define using functions – what’s the difference in using that code in a standard function?
Neither able to make much sense out of Code block in a C++ preprocessor macro does not work without braces either – made a little IDEONE fork as a sandbox, the y value doesn’t seem to go anywhere in the demo either.