Why the following code doesn't compile?
<p>I have the following C++ code:</p>

<pre><code>#include &lt;iostream&gt;
#include &lt;vector&gt;

using namespace std;

class A
{
   private:
      int i;
   public:
      void f1(const A&amp; o);
      void f2()
      {
         cout&lt;&lt;i&lt;&lt;endl;
      }
};

void A::f1(const A&amp; o)
{
   o.f2();
}
</code></pre>

<p>It just doesn't compile. Can somebody give a explanation? Thanks!</p>
