fix MSVC compile error