habe ich den folgenden Code in meiner Individual.hpp Datei:Aufruf statische Funktion Zeiger aus statischer Methode
typedef string (Individual::*getMethodName)(void);
static getMethodName currentFitnessMethodName;
static string getCurrentFitnessMethodName();
Und das auf meiner CPP-Datei:
string Individual::getCurrentFitnessMethodName(){
return (Individual::*currentFitnessMethodName)();
}
Ich bin mit Funktionszeigern in anderen Teilen meines Codes, aber immer im gleichen Objekt Kontext, also ich (this -> * thingyMajigger) (params), aber mit diesem statischen Aufruf bekomme ich den folgenden Fehler:
Erwartet unqualifizierte ID
Ich habe mehrere Permutationen des genannten Codes ausprobiert, aber keiner scheint zu funktionieren. Kann jemand etwas Licht teilen?
Prost
Da 'currentFitnessMethodName' ein Zeiger auf die nicht statische Elementfunktion ist, muss' Individual' aufgerufen werden. In Ihrer statischen Funktion 'getCurrentFitnessMethodName' gibt es keinen' this' Zeiger. Haben Sie ein anderes 'Individual'-Objekt, das Sie dort verwenden können? – aschepler
Warum verwenden Sie den statischen Zeiger und den Funktionszeiger, anstatt ihn nur mit object.method korrekt auszuführen? – stark
@aschepler, nein ich nicht. Ich habe das als Beispiel beschrieben. –