core/com.nokia.carbide.cpp.compiler.doc.user/html/pragmas/p_warn_no_explicit_virtual.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="LASTUPDATED" content="06/17/05 11:09:43" />
<title>warn_no_explicit_virtual</title>
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
</head>
<body>
<h3>warn_no_explicit_virtual</h3>
<p>Controls the issuing of warnings if an overriding function is not declared with a virtual keyword.</p>
<h5>Syntax</h5>
<p class="code">#pragma warn_no_explicit_virtual on | off | reset
</p>
<h5>Targets</h5>
All platforms.<br />
<h5>Remarks</h5>
<p>Listing 10.42 shows an example.</p>
<div class="listing">
<h4>Listing 10.42 Example of warn_no_explicit_virtual pragma</h4>
<p>#pragma warn_no_explicit_virtual on </p>
<p>struct A {<br />
virtual void f();<br />
};</p>
<p>struct B {<br />
void f(); // WARNING: override ‘B::f()’ is declared<br />
// without ’virtual’ keyword<br />
}<br />
</p>
</div>
<p class="note"><strong>TIP</strong> This warning is not required by the ISO C++ standard, but can help you track down unwanted overrides.</p>
<p>This pragma does not correspond to any panel setting. To check this setting, use <span class="code">__option (warn_no_explicit_virtual)</span><span class="code"></span>, described in <a href="../symbols/sym_settings.htm">Checking Settings</a>. The default setting is <span class="code">off</span>.</p>
<p></p>
<div id="footer">Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
</body>
</html>