-3
構造請問可不可以幫我傳遞一個仿函數,如:傳遞仿函數在C++
struct BFunc
{
double operator()(const double x, const double y, const double z){
return 0.1;
}
};
到一類的構造函數:
class foo
{
int n;
public:
foo();
foo(int nn, &bfunc):n(nn),f(func()){
}
double getResult(double x){
return f(x);
}
}
謝謝,
構造函數和getResult函數中的f是什麼?您沒有聲明任何此類數據成員。 –
你想傳遞什麼?具有特定簽名的功能?任何重載'operator()'的對象?或者一個'BFunc'的實例?我假設你想把它存儲在一個名爲f的成員中,但是現在你試圖用一個參數調用這個f,而你的'BFunc :: operator()'有3個參數。 – Anedar
沒有什麼關於函子的特別之處。它只是一個重載'operator()'的對象,所以你可以像傳遞任何對象那樣傳遞它。這可能會讓你在正確的道路上http://rextester.com/WQVBI94166 – Olumide