StructureTransitionTable.h fails to compile under VS2010 RC. The Transition(0, structure) and Transition(structure, 0) expressions generate a C2664 error about not being able to convert int to Structure*. The ints in question are the 0s in the expressions. This is a known bug in C++0x [1] and VS2010 RC [2]. It will apparently be fixed by the introduction of concepts to the STL [3]. In the meantime, we can work around the issue by either changing the 0s to nullptrs (which only works in C++0x, though obviously a macro could be used to make it work in older versions of C++), or by wrapping them in reinterpret_cast<Structure*>(). 1. http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#811 2. https://connect.microsoft.com/VisualStudio/feedback/details/505476/problem-with-std-pair-int-std-string-constructor?wa=wsignin1.0 3. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2770.pdf
This was fixed by r58308 as part of fixing bug 37867.