我有一个静态功能:
void E::createEP(std::list<double>* ret, double length, double (*getHeight)(double)) {
// magic
double sampleIntervall = //from magic
double dist = 0;
while (length - dist > -0.1) {
ret->push_back(dist, (*getHeight)(dist));
dist += sampleIntervall;
}
}
Run Code Online (Sandbox Code Playgroud)
在不同的调用中,我有两个不同的函数作为getHeight()传递:
E为createEP()(对于"再创造"具有不同参数),其需要访问元素的字段,因此可以不是静态的,无论是.以某种方式可以将非静态函数作为参数传递给静态函数吗?
如果没有,那么最优雅的替代方案是什么?我不想复制整个代码createEP().