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

MFC Discussion :

Template en C++ .net [FAQ]


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Par défaut Template en C++ .net
    Bonjour,
    Je viens de migrer de VC6 à VC.net et il me pose des problèmes sur la syntaxe des templates.
    Dans le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    template <class Type>
    class CListe{
    public:
        class CElement{//... Définition de la classe..//}
        //....//
    }
    template <class Type>
    CListe<Type>::CElement FindElt(Type & Data){//.....//}
    Ca posait pas de problème en VC6 mais en VC.net il me met l'erreur de compilation suivante:
    CListe<Type>::CElement*: le nom dépendant n'est pas un type préfixer avec 'typename' pour indiquer un type...
    Mais j'essaie d'utiliser typename, j'y arrive pas.
    Il me pose les mêmes types de problème avec la déclaration et l'utilisation de typedef.

    Quelqu'un a-t-il déjà résolu le problème?
    Merci

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template <class Type>
    typename CListe<Type>::CElement FindElt(Type & Data){//.....//}
    Pour le pourquoi du comment, ça doit trainer quelque part dans la FAQ ou sur le forum C++.

    De manière générale, toute déclaration / utilisation d'un type qui dépend d'un paramètre template requiert la préfixage par typename.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Par défaut Super
    Ok, typename ça marche pour les class et les typedef.
    Merci bien !

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

Discussions similaires

  1. Template Asp dot net
    Par mastraze dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 26/02/2012, 01h31
  2. Réponses: 1
    Dernier message: 01/10/2011, 14h49
  3. Integrer une template en Asp.Net
    Par jimb2k dans le forum ASP.NET
    Réponses: 0
    Dernier message: 12/12/2009, 20h37
  4. des templates en vb.net
    Par morad-9 dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/03/2009, 12h55
  5. Réponses: 4
    Dernier message: 31/03/2005, 17h55

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