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

Langage C++ Discussion :

[Débutant] Passage de pointeur et classe template


Sujet :

Langage C++

  1. #1
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut [Débutant] Passage de pointeur et classe template
    Bonsoir,

    Je suis en train de réaliser une classe paramétrée "cellule" pour faire une liste chainée. J'ai un petit souci lorsque je tente de mettre un élément (une instance d'objet "media") dans une cellule... Je précise que c'est sous Visual Studio avec les Windows Forms...
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // Nouveau media
    media^ monMedia = gcnew media(monReader[0]->ToString());
    // Déclaration d'une cellule de media
    cellule<media>^ maCellule;
    // Instanciation de la première cellule de la liste
    maCellule = gcnew cellule<media>;
    // On met le media dans la cellule
    maCellule->setElement(monMedia);
    Jusqu'à la dernière ligne, aucune erreur de compil... Mais quand je met monMedia dans la cellule j'ai 2 erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1>mediaTek.obj : error LNK2020: jeton non résolu (06000018) cellule<media>::setElement
    1>E:\pedro\prog\mediatheque\mediaTek\Debug\mediaTek.exe : fatal error LNK1120: 1 externes non résolus
    Au cas où voici mon cellule.h...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    template <class T> ref class cellule
    {
    // Attributs
    private:
    	T^ element;
    	cellule<T>^ suivant;
     
    // Accesseurs
    public:
    	void setElement(T^ pElement);
    };
    ...et cellule.cpp !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #pragma once
    #include "stdafx.h"
    #include "cellule.h"
     
    template <class T> void cellule<T>::setElement(T^ pElement) {element = pElement;}
    Je tiens à préciser que je suis débutant en C++/CLI, donc mon erreur doit être toute bête !
    Merci d'avance pour vos réponses

    Pedro

  2. #2
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut
    Serait-il au moins possible de savoir de quel type d'erreur il s'agit car je ne comprends pas sa signification ?

    Merci

  3. #3
    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 : 50
    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
    C'est une erreur qui indique qu'une fonction a été déclarée, mais qu'il ne le trouve pas lors de l'édition de liens.

    A vue de nez, c'est lié à :
    http://cpp.developpez.com/faq/cpp/?p...VERS_templates
    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.

  4. #4
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut Sa marche !
    Merci merci merci...

    Ce forum est magnifique !
    Ça marche nikel !

    Bonsoir bonsoir
    Pedro

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

Discussions similaires

  1. Pointeur sur classe template
    Par SmOkEiSBaD dans le forum Langage
    Réponses: 6
    Dernier message: 23/04/2011, 12h29
  2. [Template] Pointeur sur classe template
    Par Kromagg dans le forum Langage
    Réponses: 2
    Dernier message: 29/10/2008, 16h01
  3. [Débutant] Class Template
    Par Alfred12 dans le forum Langage
    Réponses: 2
    Dernier message: 16/01/2007, 08h43
  4. Réponses: 5
    Dernier message: 21/11/2005, 01h40
  5. Réponses: 4
    Dernier message: 08/11/2005, 15h10

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