1
靜態函數指針我在Individual.hpp文件下面的代碼:調用從靜態方法
typedef string (Individual::*getMethodName)(void);
static getMethodName currentFitnessMethodName;
static string getCurrentFitnessMethodName();
這對我的.cpp文件:
string Individual::getCurrentFitnessMethodName(){
return (Individual::*currentFitnessMethodName)();
}
我使用的函數指針在我的代碼的其他部分,但總是在同一個對象上下文中,所以我確實(this - > * thingyMajigger)(params),但通過該靜態調用,我得到以下錯誤:
Expected unqualified-id
我已經嘗試了所述代碼的多個排列,但似乎沒有任何工作。任何人都可以分享一些光?
乾杯
作爲非靜態成員函數的指針,'currentFitnessMethodName'需要調用'Individual'對象。在你的靜態函數'getCurrentFitnessMethodName'中,沒有'this'指針。你有另外一個可以在那裏使用的「個人」對象嗎? – aschepler
爲什麼使用靜態和函數指針而不是使用object.method正確執行它? – stark
@aschepler,不,我不知道。我只是把它作爲一個例子來描述。 –