title: operator << must take exactly one argument
body: <p>a.h</p>
  
  <pre><code>#include "logic.h"
  ...
  
  class A
  {
  friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;);
  ...
  };
  </code></pre>
  
  <p>logic.cpp</p>
  
  <pre><code>#include "a.h"
  ...
  ostream&amp; logic::operator&lt;&lt;(ostream&amp; os, A&amp; a)
  {
  ...
  }
  ...
  </code></pre>
  
  <p>When i compile, it says:</p>
  
  <blockquote>
    <p>std::ostream&amp; logic::operator&lt;&lt;(std::ostream&amp;, A&amp;)' must take exactly one argument.</p>
  </blockquote>
  
  <p>What is the problem?</p>