title: Why do I need to write std::ios::sync_with_stdio inside main?
body: <p>If I write :</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  main(){
      ios::sync_with_stdio(false);
  
      cout &lt;&lt; "hi";
  }
  </code></pre>
  
  <p>Then, the program compiles correctly, but if I write:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  ios::sync_with_stdio(false);
  
  main(){
      cout &lt;&lt; "hi";
  }
  </code></pre>
  
  <p>then GCC produces the following error:</p>
  
  <blockquote>
    <p>error: specializing member 'std::basic_ios::sync_with_stdio' requires 'template&lt;>' syntax
             ios::sync_with_stdio(false);</p>
  </blockquote>
  
  <p>What does this error mean, and how to correct it (if possible)?</p>