If you enable the Inconsistent ‘class’ / ‘struct’ Usage setting, the compiler issues a warning if you use the class and struct keywords in the definition and declaration of the same identifier.
class X;
struct X { int a; }; // warning
Use this warning when using static or dynamic libraries to link with object code produced by another C++ compiler that distinguishes between class and structure variables in its name “mangling.”
This setting corresponds to pragma warn_structclass. To check this setting, use __option (warn_structclass).
See Checking Option Settings for information on how to use this directive.