I came across this article on the Daily WTF and it reminded me of the many issues I have with Microsoft compilers. For example, back in the VB 6 days, I remember how variables in a structure would disappear if the field they referenced in a database was NULL. This made things oh so much fun.
I also remember how Visual C++ decided to screw with new so it wouldn’t throw std::bad_alloc on allocation failure. I had a bunch of code where I had to put in things like foo = new(nothrow) all throughout my code to help it be cross platform. Or having two separate and incompatible iostreams implementations where neither was really feature complete but I needed to find a way to use both to get things to work.
Ahh the good old days 🙂