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<template<>>


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 15
    Points : 13
    Points
    13
    Par défaut template<template<>>
    Bonjour les amis .

    Je cherche a instancier un objet qui serait le composé de deux templates. En gros pour vous montrer cela donne ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	Rationnel<Polynome<Rationnel<Entier>>> *P1 = new Rationnel<Polynome<Rationnel<Entier>>>();
    Mais cette ligne retourne une erreur a la compilation.

    error C2146: syntax error : missing ',' before identifier 'P1'

    Alors peut on réeelement faire des template de template??? Je n'arrive pas a trouver d'info sur ce sujet ce qui ne m'etonne pas d'ailleru cela ne doit pas etre tres courrant.
    Merci de votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 94
    Points : 82
    Points
    82
    Par défaut
    Quand tu imbriques des templates, il faut [b]toujours[b] laisser un espace entre les crochets pointus fermants (>).

    Sans espace cela donne >>>, et le compilateur l'interprète comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Rationnel <Polynome<Rationnel<Entier>> >
    c'est-à-dire qu'il prend le ">>" pour un décalage ou une opération de flux (comme dans cin >> x) et non trois fins de templates ...

    Il faut donc écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Rationnel<Polynome<Rationnel<Entier> > >();
    Bonne chance pour la suite
    Kwakanar

    -----------------------------------------
    Enjoy C++ & Qt

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut
    Attention que certains compilateurs, comme Borland par exemple, permettent d'écrire de cette façon .

    D'ailleurs n'y a-t-il pas une information à ce sujet dans la future spec de C++ qui sortira dans quelques années ?
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par swirtel
    Attention que certains compilateurs, comme Borland par exemple, permettent d'écrire de cette façon .

    D'ailleurs n'y a-t-il pas une information à ce sujet dans la future spec de C++ qui sortira dans quelques années ?
    Il y a des propositions permettant de ne pas devoir mettre l'espace.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  5. #5
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    C'est l'une des petites nouveautés de VC++ 8.

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut
    Dans la pratique, il vaut mieux mettre des espaces, car si on passe d'un compilo à un autre, il y a aura de la ré-écriture à faire, et c'est une perte de temps.
    Nul ne peut mieux connaitre la connaissance qu'elle-même.

  7. #7
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    C'est l'une des petites nouveautés de VC++ 8.
    Est-ce qu'ils l'ont mise aussi pour du code non C++/CLI?
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Oui, c'est bien de ça dont je parlais.
    Je retrouve pas le lien d'un site qui en parle, y'a un nom spécial pour cette fonctionnalité que j'ai oublié.
    Le code suivant:
    compile sans erreur avec VC++ 8.

Discussions similaires

  1. Héritage classe template->classe template
    Par zabibof dans le forum Langage
    Réponses: 5
    Dernier message: 11/08/2007, 11h05
  2. [Avis] Mon moteur de templates (cache, templates etc.)
    Par Spartan03 dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 6
    Dernier message: 05/05/2007, 14h40
  3. Template de template
    Par batbaille dans le forum Langage
    Réponses: 3
    Dernier message: 07/12/2005, 09h42
  4. Réponses: 13
    Dernier message: 03/10/2005, 18h06
  5. [Template] methode template d'une classe pas template
    Par bigquick dans le forum Langage
    Réponses: 8
    Dernier message: 25/03/2005, 15h09

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