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

Langage C++ Discussion :

Appel de fonction problème class/template


Sujet :

Langage C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 37
    Points
    37
    Par défaut Appel de fonction problème class/template
    Bonjour!

    J'ai un problème pour appeler une fonction, je travaille en C++ avec la librairie vector de itk.

    Dans mon main je crée vecteur et je voudrais dans un premier temps l'afficher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    itk::Vector<float,10> V;
    displayVector(V);
    avec la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    template<typename T, unsigned int NColumns=3>
    void displayVector(itk::Vector<T,NColumns> Vector)
    {
    ...
    }
    mais il me renvoi l'erreur suivante:
    ...\vectorandmatrix.h(66) : error C4519: arguments template par défaut autorisés uniquement sur un modèle de classe
    Je ne mis connais pas trop en template et class, et j'ai utilisée la solution présente dans la source et ça ne fonctionne pas...

    Si quelqu'un a une solution, je suis preneur

    Merci d'avance et bonne journée

    Nikoko

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Ce qui pose problème c'est la valeur par défaut (=3) dans la déclaration de la fonction template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    template<typename T, unsigned int NColumns=3>
    ce n'est pas autorisé pour une fonction, seulement pour une classe.

    En l'enlevant cela devrait aller mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    template<typename T, unsigned int NColumns>
    il ne semble de toute façon pas utile.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Merci de ta réponse Sylvain

    En effet, sa marche beaucoup mieux et en voulant trouver une solution j'avais bêtement copier/coller

    Par contre j'ai toujours un problème lorsque j'avance un peu plus loin...

    Tout marche bien a l'exception d'une chose,Lorsque je veux rentrée comme taille de Matrice une valeur que je ne connais qu'a l'exécution de mon programme.

    Ici, wsize est lu dans un fichier txt.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    itk::Matrix<float,wsize,wsize> distance;
    j'ai essayer de mettre wsize en const mais ça ne change rien

    D'avance merci

  4. #4
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut
    Tu ne peux pas. Les constantes que tu peux passer aux templates doivent être connues à la compilation.

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/10/2008, 22h08
  2. [Template] Problème Classe Template
    Par gimpycpu dans le forum Langage
    Réponses: 7
    Dernier message: 23/05/2007, 05h10
  3. Réponses: 3
    Dernier message: 07/03/2007, 11h38
  4. Appel de Fonction entre classes
    Par likenoother dans le forum C++
    Réponses: 5
    Dernier message: 09/08/2006, 14h37
  5. problème classes templates...
    Par youp_db dans le forum C++
    Réponses: 3
    Dernier message: 02/11/2005, 13h04

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