1
私は私のIndividual.hppファイルに次のコードを持っている:私の.cppファイルに静的メソッドから静的関数ポインタを呼び出す
typedef string (Individual::*getMethodName)(void);
static getMethodName currentFitnessMethodName;
static string getCurrentFitnessMethodName();
そして、この:
string Individual::getCurrentFitnessMethodName(){
return (Individual::*currentFitnessMethodName)();
}
私は関数ポインタを使用していますがしかし、私は(this - > * thingyMajigger)(params)と同じ静的呼び出しで私は次のエラーが発生します。
私が言ったコードが、いずれも複数の順列を試してみましたが修飾されていない-ID
が動作するように見えます。誰でも光を分け合えますか?
いいえお返事
非静的メンバー関数へのポインタであるため、 'currentFitnessMethodName'は' Individual'オブジェクトを呼び出す必要があります。あなたの静的関数 'getCurrentFitnessMethodName'では、何の' this'ポインタはありません。そこに使うことができる別の 'Individual'オブジェクトがありますか? – aschepler
は、なぜあなたは、静的および機能のポインタを使用しているだけではなくobject.methodで正しくそれをやって? – stark
@aschepler、いいえ、私はしないでください。私はそれを例として説明しました。 –