title: C++ program using a C library headers is recognizing "this" as a keyword. Extern "C" error?
body: <p>My C++ program needs to use an external C library.
  Therefore, I'm using the </p>
  
  <pre><code>extern "C"
  {
     #include &lt;library_header.h&gt;
  }
  </code></pre>
  
  <p>syntax for every module I need to use.</p>
  
  <p>It worked fine until now.
  A module is using the <strong>this</strong> name for some variables in one of its header file. 
  The C library itself is compiling fine because, from what I know, <strong>this</strong> has never been a keyword in C.</p>
  
  <p>But despite my usage of the <strong>extern "C"</strong> syntax, 
  I'm getting errors from my C++ program when I include that header file.</p>
  
  <p>If I rename every <strong>this</strong> in that C library header file with something like <strong>_this</strong>, 
  everything seems to work fine.</p>
  
  <p>The question is:</p>
  
  <p>Shouldn't the <strong>extern "C"</strong> syntax be enough for backward compatibility, 
  at least at syntax level, for an header file?
  Is this an issue with the compiler?</p>