title: Visual C++ #pragma warning
body: <p>I have the following three consecutive warnings:</p>
  
  <pre><code>Warning C4068 unknown pragma ...\microsoft visual studio 14.0\vc\include\comutil.h  53
  ... 54
  ... 54
  </code></pre>
  
  <p>The related lines are:</p>
  
  <pre><code>#pragma warning(push)
  #pragma warning(disable: 4290)
  #pragma warning(disable: 4310)
  </code></pre>
  
  <p>The Platform Toolset is the usual v140 and the  Target Platform version is 8.1. The warning level is W3. </p>
  
  <p>I read the current #pragma warning documentation. </p>
  
  <p>As I understand the first line saves  the current state of warning settings.<br>
  The following two lines  disable the warnings 4290 4310 for the code ahead until a <code>#pragma warning(pop)</code> restores the previously saved state. </p>
  
  <p>Why does <code>#pragma warning</code> appear as unknown? </p>