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 :

[Template] erreur spécialisation explicite


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut [Template] erreur spécialisation explicite
    bonjour,

    j'ai les erreurs suivantes quand je veux compiler un projet qui est censé marcher.

    error C2908: spécialisation explicite*; 'CCouple<T>' a déjà été instancié
    error C2766: spécialisation explicite*; 'CCouple<float>' a déjà été défini
    pourtant il y a bien un #ifndef... (je sais pas si ca a un rapport..)
    je comprend pas pourquoi il me fait cette erreur

    la premiere est sur la ligne du template

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    template <> class CCouple<float>{
    ...
    };
    la seconde sur la ligne du ;

    une idée?

  2. #2
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    Bonjour,

    Fais nous voir le code entier de ton fichier. A priori, le peu que tu nous montres est correct.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    me revoilà,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #ifndef _COUPLE_H
    #define _COUPLE_H
     
    #include <stdio.h>
    #include <chaine.h>
    #include <fileio.h>
     
    template <class T> class CCouple{...};
    template <> class CCouple<int>{...};
    template <> class CCouple<float>{...};
     
    #endif
    j'ai pas mis le corps des class car il y a plus de 600 lignes mais je pense que là ca suffit?? j'ai un peu de mal avec les templates... je suis entrain de regarder des cours sur le site...

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Ce code est correct et compile (hormis les ..., bien sûr). Donc, ton erreur doit être ailleurs.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Je ne voyais pas d'erreur non plus

    mais vu les erreurs (a dejà été instancié / a déjà été défini) je pense que ca vient du fait qu'il y a plusieurs include de ce fichier couple.h non?

    sinon je vois vraiment pas, et les erreurs ne sont pas sur des lignes comprises dans les ... mais bien au debut et à la fin ( ; ) du dernier template

  6. #6
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    mais vu les erreurs (a dejà été instancié / a déjà été défini) je pense que ca vient du fait qu'il y a plusieurs include de ce fichier couple.h non?
    Non, de ce côté ça semble OK vu que tu as bien mis des include guards.

    Si tu commentes la définition de CCouple<float>, ça compile bien ?
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

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

Discussions similaires

  1. [Templates] Erreur avec les templates
    Par tmanta7 dans le forum C++
    Réponses: 4
    Dernier message: 07/10/2008, 14h09
  2. Réponses: 4
    Dernier message: 19/04/2007, 07h32
  3. Classe template - erreur compilation
    Par Rodrigue dans le forum Langage
    Réponses: 5
    Dernier message: 06/07/2006, 17h26
  4. [wsdl] Erreur non explicite
    Par TobyKaos dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 09/12/2005, 09h54
  5. [FORMS][6i] Erreur non explicitée
    Par badara1 dans le forum Forms
    Réponses: 15
    Dernier message: 13/05/2005, 10h56

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