Is there a way to protect this MACRO from unscoped if/for statements?
#define FOO(X, Y, ...) X->bar(_##Y->thatVar, __VA_ARGS__);\
post_op(X, Y)
The order of bar and post_op is important and the result of post_op is ignorable to the application
i.e.
if(true)
auto z = FOO(a,b);
else //compile error
abort();