我偶然发现了一个相当奇特的 c++ 命名空间问题:
精简示例:
extern "C" {
void solve(lprec * lp);
}
class A {
public:
lprec * lp;
void solve(int foo);
}
void A::solve(int foo)
{
solve(lp);
}
我想在我的 C++ 成员函数 A::solve 中调用 c 函数solve。编译器对我的意图不满意:
error C2664: 'lp_solve_ilp::solve' : cannot convert parameter 1 from 'lprec *' to 'int'
有什么我可以在求解函数前面加上的东西吗?C::solve 不起作用