title: Can we define function after main without prototype declaration?
body: <pre><code>#include&lt;iostream&gt;
  using namespace std;
  
  int sum(int ,int);
  int sum(int ,int );
  int main(){
      cout&lt;&lt;sum(1,3)&lt;&lt;endl;
  }
  int sum(int a,int b){
      cout&lt;&lt;&quot;hi &quot;&lt;&lt;endl;
      return a+b;
  }
  int sum(int a,int b,char c){
      return a+b+c;
  }
  </code></pre>
  <p>In the above program, I have defined a function after main without prototype declaration but the compiler did not generate error  message.</p>