Imagine having preprocessor macros leak into your program from a common library header file which turns
foo::Status()
into
foo::int()
or
bar::Convex()
into
bar::2()
Well actually I don't have to imagine. Because thats what will happen if you happen to #include<Xlib.h> and have the balls to have a member function named Status or Convex, which it turns out are X11 macros! Stupid little useless macros even. Well isn't that smart. "Um Nobody would ever want to use the word 'Status' or 'Convex' in a program!" Like they could'nt have used X11_Convex or something.
Just micro ranting cause it took me two hours to figure out what was going on. :)