C1118: Only bases and class member functions can be virtual

[ERROR]

Description

Because virtual functions are called only for objects of class types, you cannot declare global functions or union member functions as 'virtual'.

Example
  virtual void f(void); // ERROR: definition of a global

  
                        // virtual function.

  
  union U {

  
    virtual void f(void); // ERROR: virtual union member

  
                          // function

  
  };

  
Tips

Do not declare a global function or a union member function as virtual.