所以我试图用nlopt库来解决非线性方程。 我创建了一个名为Optimizer的类。在这个类中,我正在尝试构建我需要的所有函数(目标函数,约束)。我的目标函数定义如下:
double Optimizer::optimize() {
nlopt::opt optimizer(nlopt::LD_SLSQP, (u_int)3*support_points);
optimizer.set_min_objective(myvfunc, NULL); // compile error
return 0;
}
现在我想调用一个方法Optimizer :: optimize(),然后设置nlopt算法的所有约束和要求。我正在使用:
public class DepthActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_depth);
findViewById(R.id.btn).setOnClickListener(this);
}
long startTime;
boolean showingFirst = true;
public void generate(View view) {
if(showingFirst
startTime = System.currentTimeMillis();
showingFirst = false;
} else {
long difference = System.currentTimeMillis() - startTime;
TextView myText = findViewById(R.id.tv);
myText.setText(String.valueOf(difference));
showingFirst = true;
}
}
@Override
public void onClick(View v) {
}
}
这是我收到编译错误的地方,我无法解释。
参数类型不匹配:函数类型中参数的数量不兼容
我尽可能地坚持使用Tutorial,但为什么会出现这个错误?