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

Visual C++ Discussion :

template et VC++ ou ai-je faux ?


Sujet :

Visual C++

  1. #1
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut template et VC++ ou ai-je faux ?
    Bonjour,

    Comme je suis pas un expert en C++, j'ai fais un exemple de template.J'ai lu la FAQ de devloppez mais là je vois pas !

    testy.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class testy  
    {
    public:
    	testy();
    	 ~testy();
    	template <typename T> T mange(T val);
    };
    testy.cpp :
    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
    38
     
    // testy.cpp: implementation of the test class.
    //
    //////////////////////////////////////////////////////////////////////
     
    #include "testy.h"
    #include <iostream>
     
    using namespace std;
    //////////////////////////////////////////////////////////////////////
    // Construction/Destruction
    //////////////////////////////////////////////////////////////////////
     
    testy::testy()
    {
    }
     
    testy::~testy()
    {
     
    }
     
     
    template <typename T>
    T testy::mange(T val)
    {
    	return obj;
    }
     
    int main()
    {
    	int maVal;
    	cout<<"test1"<<endl;
    	testy *t= new testy();
    	maVal = t->mange<int>(2);
    	delete t;
    	return 1;
    }
    et l'erreur retournée par MSVC++ 6.0 :
    testy.cpp(34) : error C2062: type 'int' unexpected
    merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    J'ignore si ça corrigera ton problème, mais il y a une erreur dans ta fonction template: "obj" n'est pas déclaré...

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 743
    Points : 460
    Points
    460
    Par défaut
    Essaye avec un autre compilo que VC6.
    VC6 est loin d'être au top, il comprend pratiquement rien des templates...
    Je sais qu'il n'accepte pas entre autres les fonctions membres templates.

    Sinon, je sais qu'il y a un patch qui le remet au niveau de VC7.
    J'avais trouvé ce patch à l'époque sur www.telecharger.com

  4. #4
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par Médinoc
    J'ignore si ça corrigera ton problème, mais il y a une erreur dans ta fonction template: "obj" n'est pas déclaré...
    nan c'est return val évidement ^^

  5. #5
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par Charlemagne
    Essaye avec un autre compilo que VC6.
    VC6 est loin d'être au top, il comprend pratiquement rien des templates...
    Je sais qu'il n'accepte pas entre autres les fonctions membres templates.

    Sinon, je sais qu'il y a un patch qui le remet au niveau de VC7.
    J'avais trouvé ce patch à l'époque sur www.telecharger.com
    Oué j'avais lu plusieur article sur le fait que VC6 prenait que les appels de template explicite mais bon ici c'est pire ! Je vais regarder ton patch .

Discussions similaires

  1. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  2. appliquer plusieurs templates
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 04/04/2003, 16h26
  3. template match="node() mais pas text()"
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/03/2003, 10h52
  4. [XSLT] template
    Par demo dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 09/09/2002, 11h31

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