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++/CLI Discussion :

jeton Dispose non r�solu lors de la compilation


Sujet :

C++/CLI

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 79
    Par d�faut jeton Dispose non r�solu lors de la compilation
    Bonjour,

    J'utilise visual studio 2008 pro.

    J'ai cod� une classe fifo_prod_cons en template.
    Elle ne me pose pas de souci si je l'utilise avec "fifo_prod_cons<std::string> queue;" ou avec "fifo_prod_cons<int> ^ queue;", mais lorsque je fais "fifo_prod_cons<std::string> ^ queue;", le compilo me donne l'erreur
    1>2_synchr.obj : error LNK2020: jeton non r�solu (06000108) fifo_prod_cons<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >:ispose
    1>2_synchr.obj : error LNK2020: jeton non r�solu (06000109) fifo_prod_cons<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >:ispose
    Le smilley utilise le D de Dispose.

    D'apr�s ce que j'ai vu sur internet, Dispose est une m�thode appell�e dans le destructeur, mais je n'ai pas trouv� comment l'impl�menter et je ne suis d'ailleur pas s�r que cela soit autoris�, puisque si je rajoute "void Dispose(){};" comme m�thode de fifo_prod_cons, le compilo me donne l'erreur
    fifo_prod_cons.h(57) : error C2605: 'Dispose'*: cette m�thode est r�serv�e dans une classe manag�e
    1> souhaitez-vous d�finir un destructeur*?
    1> \fifo_prod_cons.h(60)*: voir la r�f�rence � l'instanciation de la classe mod�le 'fifo_prod_cons<T>' en cours de compilation
    Est ce quelqu'un saurait me dire ce que je dois faire?

    voici le code de ma classe:
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
     
    #using <System.dll>
    using namespace System;
    using namespace System::Threading;
     
    #include "queue_pool.h"
     
     
    template<typename T>
    ref class fifo_prod_cons 
    {
    private:
    	Mutex^ mutex_de_queue;
    	Semaphore ^ nb_elements_ds_queue;
    	Semaphore ^ nb_places_libres_ds_queue;
     
     
    public:
    	queue_pool<T>* p_queue_pool;  // car on peut avoir un pointeur vers un objet non managé mais pas un objet non managé dans une classe managé
     
    	fifo_prod_cons(){
    		p_queue_pool = new queue_pool<T>;
    		mutex_de_queue = gcnew Mutex;
    		nb_elements_ds_queue = gcnew Semaphore(0,INT_MAX);
    		nb_places_libres_ds_queue = gcnew Semaphore(INT_MAX,INT_MAX);
    	};
     
    	~fifo_prod_cons(){};
     
        T pop(){
            T res;
    		nb_elements_ds_queue->WaitOne();
            mutex_de_queue->WaitOne();
            res = p_queue_pool->pop();
            mutex_de_queue->ReleaseMutex();
    		nb_places_libres_ds_queue->Release();
            return res;
        };
     
        void push(T t){
    		nb_places_libres_ds_queue->WaitOne();
            mutex_de_queue->WaitOne();
            p_queue_pool->push(t);
            mutex_de_queue->ReleaseMutex();
    		nb_elements_ds_queue->Release();
        };
     
    	bool empty(){
    		bool res;
    		mutex_de_queue->WaitOne();
            res = p_queue_pool->empty();
            mutex_de_queue->ReleaseMutex();
    		return res;
    	}
     
     
     
    };

  2. #2
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Il ne s'agit pas de C++, mais de C++/CLI. Un langage diff�rent bien qu'en grande partie compatible avec le C++.

    En l'occurence, le compilateur te dit qu'il ne trouve pas la d�finition de la fonction Dispose. Sachant que tu n'as pas le droit de la d�finir, mais qu'elle est indirectement d�finie si tu associe � ta classe un "destructeur" (syntaxe avec ! au lieu de ~ pour le finalizer, si je ne me suis pas emm�l� les pinceaux encore une fois...).

    Je transf�re le message sur un forum o� les gens seront probablement plus � m�me de t'en dire plus.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 79
    Par d�faut
    Il n'y a plus d'erreur une fois qu'il y a un gcnew de l'objet dans le code.
    Je ne le faisais pas dans le code de ma classe car elle travaillait sur un pointeur de cet objet.

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

Discussions similaires

  1. R�ponses: 11
    Dernier message: 07/12/2011, 07h11
  2. R�ponses: 3
    Dernier message: 20/04/2009, 15h00
  3. [WIN32]error LNK2020: jeton non r�solu, DLL?
    Par Ammo32 dans le forum Visual C++
    R�ponses: 2
    Dernier message: 25/04/2007, 22h31
  4. R�ponses: 7
    Dernier message: 18/03/2007, 02h13
  5. Jeton non r�solu???
    Par vdumont dans le forum C++
    R�ponses: 9
    Dernier message: 14/03/2006, 13h09

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