title: Error : **** has not been declared
body: <p>In my Function.h file:</p>
  
  <pre><code>class Function{
    public:
      Function();
      int help();
  };
  </code></pre>
  
  <p>In my Function.cpp file:</p>
  
  <pre><code>#include "Function.h"
  int Function::help() //Error here
  {
    using namespace std;
    cout &lt;&lt; "Help";
    return 1;
  }
  </code></pre>
  
  <p>In my Main.cpp</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include "Function.h"
  using namespace std;
  
  int menu(){
    Function fc;
    fc.help();
    return 1;
  }
  
  int main(int args, char**argv){
    return menu();
  }
  </code></pre>
  
  <p><br/>
  Error is : ‘Function’ has not been declared
  <br/>
  Can anybody tell me why? Thank you.</p>
  
  <p>I tried like this and the problem is solved, but I dont really understand why:<br/>
  In Function.h file: <br/>
  I use </p>
  
  <pre><code>class Function{
    public:
      int status;
      Function():status(1){}
      int help();
  };
  </code></pre>
  
  <p>instead of the old one</p>
  
  <pre><code>class Function{
    public:
      Function();
      int help();
  };
  </code></pre>