Fixed issues with SFINAE in VC++