title: unicode char comparing to non unicode char, but no warning nor error
body: <p>Why does the following code NOT give an error, nor any type of a warning about an implicit conversion?</p>
  
  <pre><code>std::wstring str = L"hi";
  if(str[0] == 'h')
        cout&lt;&lt;"strange"&lt;&lt;endl;
  </code></pre>
  
  <p>The proper normal code is:</p>
  
  <pre><code>std::wstring str = L"hi";
  if(str[0] == L'h')
        cout&lt;&lt;"strange"&lt;&lt;endl;
  </code></pre>
  
  <p>Compiler: visual studio 2005</p>
  
  <p>Warning level: level 4 (highest)</p>