'identifier' : union cannot have virtual function 'identifier'
The specified union was declared to have a virtual function.
Virtual functions can only be used with a class or structure but not with a union. Change the specified union to a class or structure or make it a nonvirtual function.