Fixes so code compiles under MSVC

I've removed the "typename" constants as MSVC doesn't allow them outside of template declarations.
I've Removed the .var = style of struct assignment as unfortunatly, MSVC doesn't support this either :(

Is this acceptable as a patch ? I realize it makes the code a tad more uggly. I've only tested this on windows, as I currently don't have any other at my disposal.