warn_hidevirtual

Controls the recognition of a non-virtual member function that hides a virtual function in a superclass.

Syntax
  #pragma warn_hidevirtual on | off | reset   
Remarks

If you enable this pragma, the compiler issues a warning message if you declare a non-virtual member function that hides a virtual function in a superclass. One function hides another if it has the same name but a different argument type. The following listing shows an example.

Listing: Hidden Virtual Functions
class A { 
 public: 
 virtual void f(int); 
 virtual void g(int); 
}; 
class B: public A { 
 public: 
 void f(char); // WARNING: Hides A::f(int) 
 virtual void g(int); // OK: Overrides A::g(int) 
}; 

The ISO/IEC 14882-2003 C++ Standard does not require this pragma.

Note: A warning message normally indicates that the pragma name is not recognized, but an error indicates either a syntax problem or that the pragma is not valid in the given context.