"Address expression must be an lvalue or a function designator" when passing an object's address
<p>Here is part of my code:</p>

<pre><code>class A
{
  public:
  void init(classB&amp; pObject);
  classB&amp; _pObject;
}

void classA::init(classB&amp; pObject)
{
  _pObject = pObject;
}

class B
{
  public:
  void init();
}

void classB::init()
{
  classA* pClassA = new classA;
  pClassA-&gt;init(&amp;this);
}
</code></pre>

<p>I got 2 problems after compile:</p>

<ol>
<li><p><code>_pObject = pObject;</code>: No viable overloaded '='</p></li>
<li><p><code>pClassA-&gt;init(&amp;this);</code>: Address expression must be an lvalue or a function designator</p></li>
</ol>

<p>I'm getting confused about these problems... How can I fix that?</p>
