I know that at least one of the changes in C++11 that will cause some old code to stop compiling: the introduction of explicit operator bool() in the standard l
explicit operator bool()
There are numerous changes to the containers library that allow more efficient code but silently break backwards compatibility for a few corner cases.
Consider, for example, std::vector, default construction, C++0x, and breaking changes.