Methodenzeiger und Methodenzeiger array



  • Ich habe das Problem, dass ich über verschiedene Methoden einer Klasse mit einer Schleife iterieren möchte, jedoch habe ich Probleme dieses hinzubekommen.

    error: 'fP' was not declared in this scope

    nun kann ich mir vorsellen, dass es Probleme mit Klammern geben könnte jedoch
    habe ich z.B. hier den gleich syntax gesehen
    http://www.math.uni-wuppertal.de/~axel/skripte/oop/oop12_5.html

    (mylist.*pfL)(1);

    Das gleiche Problem habe ich auch, wenn ich das ganze mit einem array probiere... und bin da ehrlich gesagt überfragt was da falsch läuft.

    class element
    {
    	public:
    //		typedef void (element::*pFunc)(int value);
    //		pFunc fPoint[2];
    		element();
    		void set_t1(int T1){t1=T1;};
    		void set_t0(int T0){t0=T0;};
    		void (element::*fP)(int);
    
    	protected:
    		int t1,t0;
    };
    element::element()
    {
    //	fPoint[0]=&element::set_t0;
    //	fPoint[1]=&element::set_t1;
    	fP=&element::set_t1;
    }
    
    int main ()
    {
    	element test;
    	for( int i=0;i<=1;i++)
    	{
    		(test.*fP)(i);
    //		(test.*fPoint[i])(i);
    	}
    	return 0;
    }
    

  • Mod

    (test.*test.fP)(i);
    


  • Ah danke!
    Gruß airmack


Anmelden zum Antworten