Even after fixing all other problems to make the code compile, it only works in VC2010 because it uses a non-standard extension. And If you specify /Wall
to see all warnings, you compiler will emit
warning C4213: nonstandard extension used : cast on l-value