He was right.just found it by seeing the warning.
In this case : Compilers before VS2008 would break the virtual mechanism in this case.
Later compilers it gives warning C4373: virtual function overrides '%$pS', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
found the documentation here https://msdn.microsoft.com/en-us/library/bb384874.aspx