In VC71SP1, VC8 and VC8SP1, when pointer to static member function in form of &foobar::bar is given as the operand of typeid, it returns type_info instance for the reference to static member function. In other words, the result of typeid( &foobar::bar ) and the result of typeid( foobar::bar ) are the same when foobar::bar is a static member function.But for the free function, typeid returns two different type_info object as it should be. So the result of typeid( &hello ) and the result of typeid( hello ) are not the same when hello is a free function.In gcc, typeid returns different type_info instance for both cases.
Version