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.