8 ms·
You can suppress function like macros by using parenthesis because function like macro expansion is literally defined as "name directly followed by open paren".
by pionaryon 2y ago
You can suppress function like macros by using parenthesis because function like macro expansion is literally defined as "name directly followed by open paren".
#define foo(x) something
void foo(int a) {} // doesn't work
void (foo)(int a) {} // does work because 'foo)' can never be a function macro
- badmintonbaseba 2y agoThe error is coming from a WinRT header, not something they can easily control. It's similar to having something like `#define string(x) something` and then including <string>.