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 averti
    Inscrit en
    Janvier 2004
    Messages
    15
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 15
    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 confirm�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    94
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 94
    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 �m�rite
    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
    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 ?

  4. #4
    Expert confirm�

    Inscrit en
    Novembre 2005
    Messages
    5 145
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    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.

  5. #5
    Expert confirm�

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

    Informations professionnelles :
    Activit� : pdg

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

  6. #6
    Membre �m�rite
    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
    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.

  7. #7
    Expert confirm�

    Inscrit en
    Novembre 2005
    Messages
    5 145
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    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?

  8. #8
    Expert confirm�

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

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    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