title: "expression must be an l-value or function designator" error when taking the address of this
body: <p>I'm trying to do this in C++:</p>
  
  <pre><code>class Abc
  {
     int callFunction1()
  };
  
  void function1(Abc** c1) {//do something}
  
  int Abc::callFunction1()
  {
     function1(&amp;this);
     return 0;
  }
  </code></pre>
  
  <p>And I get "expression must be an l-value or function designator" error in visual studio 2015. So I don't understand where I go wrong. To my knowledge, <code>&amp;this</code> should have the type <code>Abc**</code> right?</p>
  
  <p>The function definition isn't mine to change. So I can't just change the parameter type.</p>