在cpp中使用目标函数和nlopt库

时间:2018-01-30 16:25:42

标签: c++ nlopt

所以我试图用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,但为什么会出现这个错误?

0 个答案:

没有答案