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 :

Erreur de compilation


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 79
    Points : 45
    Points
    45
    Par défaut Erreur de compilation
    J'essaye de faire hériter ma classe Noeud à ma Class Probème mais lorsque je fais sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class Probleme : public Noeud
    Noeud me donne une erreur disant : erreur liste d'arguments de modèle de classe Noeud manquantes.

    Qu'es que cela signifie ?

    voici le code de mes deux classes :

    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
    #pragma once
    #define null 0
    #include "Liste.h"
     
    // Déclaration anticipée de la classe Liste pour permettre la référence circulaire
    // entre les classes Noeud et liste
    template <class Objet>
    class Liste;
     
     
    template <class Objet>
    class Noeud
    {
    	// Permettre à la classe Liste d'avoir accès aux membres privé de la classe Noeud
    	friend class Liste<Objet>;
     
    	// Pointeur sur le noeud suivant
    	Noeud<Objet>*	suivant;
    	// Pointeur sur le noeud précédent
    	Noeud<Objet>*   precedent;
     
    public:
    	// Pointeur sur la donnée
    	Objet*			objetPtr;
     
    	Noeud<Objet>(Objet objet = null)
    	{
    		objetPtr = new Objet(objet);
    		suivant = null;
    		precedent = null;
    	}
     
    	~Noeud<Objet>()
    	{
    		delete objetPtr;
    	}
    };
    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
    #pragma once
    #include <iostream>
    #include "Noeud.h"
     
    class Probleme : public Noeud
    {
    protected:
    	int nas_;
    	std::string dateDebut_;
    	std::string dateFin_;
    	std::string description_;
     
    public:
     
    	Probleme(int,std::string,std::string,std::string);
    	~Probleme();
    	void SetNas(int);
    	void SetDateDebut(std::string);
    	void SetDateFin(std::string);
    	void SetDescription(std::string);
    	void SetAll(int,std::string,std::string,std::string);
    	int GetNas() const;
    	std::string GetDateDebut() const;
    	std::string GetDateFin() const;
    	std::string GetDescription() const;
    	virtual void WhatWrongBro() const = 0;
    };

  2. #2
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Noeud est une classe template, donc ta class Probleme doit soit être template aussi, soit hériter d'une spécialisation de Noeud.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    template <class T>
    class Probleme: public Noeud<T> {
     
    // ou
     
    class Probleme: public Noeud<int> { // ou n'importe quel type
    (virtual void WhatWrongBro() const = 0; j'aime.)

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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