IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Error C2064: Pointeur de fonction


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut Error C2064: Pointeur de fonction
    Bonjour,
    j'ai une erreur bizarre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Error	1	error C2064: term does not evaluate to a function taking 0 arguments	c:\program files\boost\boost_1_35_0\boost\thread\win32\thread.hpp	185
    venant du code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    // @brief Load the repositories
    void CFXTopsApp::LoadRepositories() {
        try {
            // Calendar Initialisation
            calRepository->LoadCalendars();
        }
        catch(otl_exception& p){ // intercept OTL exceptions
            std::cout << p.msg << endl; // print out error message
            std::cout << p.stm_text << endl; // print out SQL that caused the error
            std::cout << p.var_info << endl; // print out the variable that caused the error
            AfxMessageBox(_T("Oracle Error: ") + CString(p.msg) ,MB_ICONSTOP);
        }
        catch (com::fxoverlay::support::exception::FxtopsException &e) {
            AfxMessageBox(CString(e.what().c_str()) ,MB_ICONSTOP);
        }
    }
    
    /**
    * initialisation de CFXTopsApp
    * Initialisation de l'application
    */
    BOOL CFXTopsApp::InitInstance()
    {
        if(false==LoadIniFile())
            return FALSE;
    
        // Load the calendars
        try {
            otl_connect::otl_initialize();
            logon = std::string(CT2A(m_Schema)) + "/" + std::string(CT2A(m_Password)) + "@" + std::string(CT2A(m_otlconnect));
            db.rlogon(logon.c_str());
            calRepository = new com::fxoverlay::dao::oracle::time::OracleCalendarRepository(&db);
            boost::thread thrd(&CFXTopsApp::LoadRepositories);
    
    ....
    thread.hpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
        class BOOST_THREAD_DECL thread
        {
        private:
            thread(thread&);
            thread& operator=(thread&);
    
            void release_handle();
    
            template<typename F>
            struct thread_data:
                detail::thread_data_base
            {
                F f;
    
                thread_data(F f_):
                    f(f_)
                {}
                thread_data(detail::thread_move_t<F> f_):
                    f(f_)
                {}
                
                void run()
                {
                    f();
                }
            };
    La ligne rouge est la ligne de lerreur.

    J'ai poste ici plutot que directement dans boost car je pense que c'est plus un pb de C++ que d'utilisation de boost.

    Si vous avez une idée.

    PS: VS 2005, XP, Boost 1.35

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Peut être qu'il faut que la fonction CFXTopsApp::LoadRepositories soit static
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut
    c'est gagné!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. opengl et pointeur de fonction
    Par Oldhar dans le forum C
    Réponses: 5
    Dernier message: 06/11/2003, 23h56
  2. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37
  3. Matrice de pointeurs de fonctions
    Par sebduth dans le forum C
    Réponses: 15
    Dernier message: 18/07/2003, 14h03
  4. [Kylix] Pointeur de fonctions
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 03/07/2003, 10h17
  5. pointeur de fonction
    Par kardath dans le forum C
    Réponses: 4
    Dernier message: 28/12/2002, 14h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo