title: C++: namespace conflict between extern "C" and class member
body: <p>I stumbled upon a rather exotic c++ namespace problem:</p>
  
  <p>condensed example:</p>
  
  <pre><code> extern "C" {
   void solve(lprec * lp);
   }
  
   class A {
   public:
      lprec * lp;
      void solve(int foo);
   }
  
   void A::solve(int foo)
   {
       solve(lp);
   }
  </code></pre>
  
  <p>I want to call the c function solve in my C++ member function A::solve. The compiler is not happy with my intent:</p>
  
  <pre><code>  error C2664: 'lp_solve_ilp::solve' : cannot convert parameter 1 from 'lprec *' to 'int'
  </code></pre>
  
  <p>Is there something I can prefix the solve function with? C::solve does not work</p>