title: I'm getting error C2664 on some I/O code
body: <pre><code>void BinaryTree::InitializeFromFile(string Filename){
  ifstream inFile;
  inFile.open(Filename, fstream::binary);
  if(inFile.fail()){
      cout&lt;&lt;"Error in opening file "&lt;&lt;Filename;
      return;
  }
   for(int i=0;i&lt;=255;i++) Freq[i]=0;
    char c;
    inFile.get(c);
    while(!inFile.eof()){
      Freq[c] ++;
      inFile.get(c);
    }
  }  
  
  
  
  HuffmanTree.cpp(293) : error C2664: 'void std::basic_ifstream&lt;_Elem,_Traits&gt;::
  open(const wchar_t *,std::ios_base::openmode,int)' : cannot convert parameter 1 
  from 'std::string' to 'const wchar_t *'
  1&gt;    with
  1&gt;    [
  1&gt;        _Elem=char,
  1&gt;        _Traits=std::char_traits&lt;char&gt;
  1&gt;    ]
  1&gt;    No user-defined-conversion operator available that can perform this 
        conversion, or the operator cannot be called
  </code></pre>
  
  <p>Line 293 is <code>inFile.open(Filename, fstream::binary);</code></p>