Partage
  • Partager sur Facebook
  • Partager sur Twitter

std::list et les pointeurs sur fonction

erreur: invalid use of «unary *" on pointer to member

    16 avril 2008 à 18:05:45

    Bonjour !
    J'aimerai créer un systeme de callbacks simple et j'ai fini de le coder. Enfin presque. En effet le compilateur m'affiche cette erreur:
    /home/nathan/Documents/Programmes/callbacks/callbacks.cpp|29|erreur: invalid use of «unary *" on pointer to member|
    /home/nathan/Documents/Programmes/callbacks/callbacks.cpp|31|erreur: invalid use of «unary *" on pointer to member|


    Voici mon code (je l'ai mis en secret):
    //callbacs.hpp
    
    namespace cab
    {
    	class CallbackUser
    	{
    
    	};
    
    	class Application : public CallbackUser
    	{
    		public:
    		Application();
    		~Application();
    		void AddCallback(bool (CallbackUser::*fWhatCall)(), void (CallbackUser::*fToCall)());
    		void Activate();
    		void Desactivate();
    
    		private:
    		std::list<bool(CallbackUser::*)()> WhatCall;
    		std::list<void(CallbackUser::*)()> ToCall;
    		bool running;
    	};
    }
    

    //callbacks.cpp
    
    #include"callbacks.hpp"
    
    namespace cab
    {
    	Application::Application()
    	{
    
    	}
    
    	Application::~Application()
    	{
    
    	}
    	void Application::AddCallback(bool (CallbackUser::*fWhatCall)(), void (CallbackUser::*fToCall)())
    	{
    		WhatCall.push_back(fWhatCall);
    		ToCall.push_back(fToCall);
    	}
    
    	void Application::Activate()
    	{
    		running = true;
    		std::list<bool(CallbackUser::*)()>::iterator iWC = WhatCall.begin();
    		std::list<void(CallbackUser::*)()>::iterator iTC = ToCall.begin();
    		while(running)
    		{
    			while(iWC != WhatCall.end())
    			{
    				if((**iWC)())
    				{
    					(**iTC)();
    				}
    				iWC ++;
    				iTC ++;
    			}
    		}
    	}
    
    	void Application::Desactivate()
    	{
    		running = false;
    	}
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      16 avril 2008 à 19:10:52

      Il manquerait comme l'instance destinatrice ...
      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

      std::list et les pointeurs sur fonction

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown