News for hackers. Stuff that matters.
Re:Deciphering C++ compiler errors: Nonsensical errors from ... by pionaryon on Thursday December 12, 2024 @03:05AM (#42397243)
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
Re:Deciphering C++ compiler errors: Nonsensical errors from ... by badmintonbaseba on Thursday December 12, 2024 @05:25AM (#42397955)
The 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>.