title: const char* usage in constructor
body: <pre><code>#include "Board.hpp"
  #include &lt;iostream&gt;
  
  using namespace std;
  
  Board::Board (const char* filename){
    filename = "puz1.txt";
    Board::fin (filename);
    if(!fin) fatal("Error in opening the file");
  }
  </code></pre>
  
  <p>This is my cpp file...my hpp file is:</p>
  
  <pre><code>#ifndef BOARD_H
  #define BOARD_H
  
  #include &lt;iostream&gt;
  using namespace std;
  
  #include "tools.hpp"
  #include "square.hpp"
  
  class Board {
  private:
      SqState bd[81];
      ifstream fin;
  public:
      Board(const char* );
      ostream&amp; print(ostream&amp; );
  };
  
  inline ostream&amp; operator &lt;&lt;(ostream&amp; out, Board&amp; b) { return b.print(out);}
  
  #endif //Board.hpp
  </code></pre>
  
  <p>I got the below errors while I compile:</p>
  
  <ol>
  <li><p>Error at line in cpp <code>filename = "puz1.txt"</code>.
  and error is: </p>
  
  <blockquote>
    <p>const char* shadows a //parameter.</p>
  </blockquote></li>
  <li><p>Error at line in cpp <code>Board::fin (filename);</code> 
  and error is: </p>
  
  <blockquote>
    <p>no match call to //(std::basic_ifstream})   </p>
  </blockquote></li>
  </ol>
  
  <p>How do I fix them?</p>