我有很多使用函數指針作爲double (*f)(double)
形式的參數的遺留代碼。現在我有一個需求,我需要從類中調用此函數,但函數定義使用成員變量。我該如何解決這個問題?例如,已知參數的函數指針
void legacy_function(double (*f)(double)) { .... }
class myclass {
double a;
double b;
double c;
void mymethod(...) {
// need to call legacy_function() such that it uses a and b with one unknown
// a+b*x
}
請注意,我無法更改舊代碼中的定義或聲明。
我希望這是有道理的。感謝您的建議..
如果你可以改變遺留代碼,boost :: function會適合。見 http://www.boost.org/doc/libs/1_44_0/doc/html/function/tutorial.html#id1264562 – 2010-11-16 07:22:28