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 :

Singleton & template


Sujet :

C++

  1. #1
    Membre tr�s actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : .
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par d�faut Singleton & template
    Bonjour,

    J'ai besoin d'utiliser un singleton dans mon code.
    Celui ci appel une fonction - template.
    Malheureusement cette fonction appel�e renvoie une erreur sur le compilateur.
    Je pr�cise que la fonction marche bien et ce n'est qu'a l'appel de cette fonction que j'ai mon erreur.
    *La fonction, en dehors de la classe marche � merveille.
    Les autres fonctions de mon singleton marche.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    TestResult& TestData = TestResult::getInstance(); <- instance de mon singleton
    ...
    TestData.FonctionAutoTest(FunctionLink,float(MAX_FLOAT)); <- fonction buggé à l'appel
    ...
    template<typename Type1, typename Type2> 
    void TestResult::FonctionAutoTest(std::map<std::string, Type1> &Mymap, Type2 valuetest) <- type de la fonction
    Ci dessous l'erreur de retour:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    undefined reference to `void TestResult::FonctionAutoTest<double (wl::data::Data::*)(), double>(std::map<std::string, double (wl::data::Data::*)(), std::less<std::string>, std::allocator<std::pair<std::string const, double (wl::data::Data::*)()> > >&, double)'
    Merci

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    on peut pas deviner ce qu'est FunctionLink
    t'as une variable testUnifiedData puis testData : on est sens� suivre comment ton "code" ?!

    undefined reference est une erreur de link, il trouve pas l'impl�mentation de ce que tu lui demandes.
    Est-ce au moins la premi�re erreur en sortie ?

    Si ton programme est vraiment dans cette ordre, il ne peut pas deviner une fonction d�clar�e apr�s son utilisation.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Membre tr�s actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : .
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par d�faut
    FunctionLink est une map contenant l'ID et un pointeur de fonction.
    std::map<std::string, getFonction> FunctionLink;
    FunctionLink["getLa"] = (&Data::La);

    Cf: http://www.developpez.net/forums/d15...ctor-function/
    M�me chose mais dans un singleton et en fessant appel � un map & non vector.

  4. #4
    Membre tr�s actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : .
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par d�faut
    Je n'ai qu'une seule erreur.
    Mes fonctions sont bien d�clar�es avant leurs utilisations.

    #include....

    Mais la m�me fonction "FonctionAutoTest" appel�e au m�me endroit, avec les m�me param�tre, en dehors du singleton marche bien.

  5. #5
    Membre tr�s actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : .
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par d�faut
    Citation Envoy� par Bousk Voir le message
    t'as une variable testUnifiedData puis testData
    d�sol�, erreur de copier coller mais ce n'est pas un erreur dans mon code, juste un erreur de ma part de retranscription sur le site.

  6. #6
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ing�nieur en syst�mes embarqu�s
    Inscrit en
    Juin 2004
    Messages
    1 306
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par d�faut
    Tu d�clares le template de fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    template<typename Type1, typename Type2> 
    void TestResult::FonctionAutoTest(std::map<std::string, Type1> &Mymap, Type2 valuetest)
    dans un .h et tu l'impl�mentes dans un .c ?

    Si la r�ponse � cette question est oui, d�place la d�finition de TestResult::FonctionAutoTest dans le .h

  7. #7
    Membre tr�s actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : .
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par d�faut
    Vraiment?

    Ce n'est pas contraire au convention de d�claration des classes?
    Je vais essayer.
    Je pr�pare actuellement un mini code mettant en �vidence le probl�me.

  8. #8
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505

  9. #9
    Membre tr�s actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : .
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par d�faut
    Super,

    Merci � vous.
    Maintenant mon .h ne ressemble plus � rien mais �a compile et �a tourne...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [DesignPattern] Singleton et Template
    Par faust73 dans le forum Langage
    R�ponses: 4
    Dernier message: 16/09/2014, 23h06
  2. [R�solu]Singleton avec template de fonction
    Par LiquidHuk dans le forum C++
    R�ponses: 2
    Dernier message: 05/06/2014, 10h21
  3. Singleton template partag� entre Dll et Exe
    Par eltrex dans le forum Langage
    R�ponses: 1
    Dernier message: 07/08/2008, 12h13
  4. R�ponses: 3
    Dernier message: 22/11/2006, 21h10
  5. R�ponses: 13
    Dernier message: 25/10/2006, 16h17

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