warn_no_explicit_virtual

Controls the issuing of warning messages if an overriding function is not declared with a virtual keyword.

Syntax
#pragma warn_no_explicit_virtual on | off | reset
  
Remarks

Example of warn_no_explicit_virtual pragma shows an example.

Listing 1. Example of warn_no_explicit_virtual pragma
#pragma warn_no_explicit_virtual on

struct A {
  virtual void f();
};

struct B {
  void f();
  // WARNING: override B::f() is declared without virtual keyword
}
Tip: This warning message is not required by the ISO/IEC 14882:2003 C++ standard, but can help you track down unwanted overrides.

This pragma does not correspond to any panel setting. By default, this pragma is off .

Related information
access_errors
always_inline
arg_dep_lookup
ARM_conform
ARM_scoping
array_new_delete
auto_inline
bool
cplusplus
cpp1x
cpp_extensions
debuginline
def_inherited
defer_codegen
defer_defarg_parsing
direct_destruction
direct_to_som
dont_inline
ecplusplus
exceptions
inline_bottom_up
inline_bottom_up_once
inline_depth
inline_max_auto_size
inline_max_size
inline_max_total_size
internal
iso_templates
new_mangler
no_conststringconv
no_static_dtors
nosyminline
old_friend_lookup
old_pods
old_vtable
opt_classresults
parse_func_templ
parse_mfunc_templ
RTTI
suppress_init_code
template_depth
thread_safe_init
warn_hidevirtual
warn_no_typename
warn_notinlined
warn_structclass
wchar_type