Попаднах на доста екзотичен проблем с пространството от имена на c++:
съкратен пример:
extern "C" {
void solve(lprec * lp);
}
class A {
public:
lprec * lp;
void solve(int foo);
}
void A::solve(int foo)
{
solve(lp);
}
Искам да извикам c функцията solve в моята C++ членска функция A::solve. Компилаторът не е доволен от моето намерение:
error C2664: 'lp_solve_ilp::solve' : cannot convert parameter 1 from 'lprec *' to 'int'
Има ли нещо, с което мога да префиксирам функцията solve? C::solve не работи