【发布时间】:2016-10-13 13:44:31
【问题描述】:
我有一个静态函数:
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;
}
}
在不同的调用中,我有两个不同的函数作为 getHeight() 传递:
- 数据库包装类中的非静态函数
-
E与createEP()类型相同的 Object 中的函数(用于使用不同参数“重新创建”),它需要访问 Elements 字段,因此也不能是静态的。
是否可以将非静态函数作为参数传递给静态函数?
如果不是,最优雅的选择是什么?我不想在createEP() 中复制整个代码。
【问题讨论】:
标签: c++ function c++11 static non-static