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 :

erreur C2244 "unable to resolve function overload"


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut erreur C2244 "unable to resolve function overload"
    voici mon probleme

    le ".h"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    template<class U=double	, class V=double>
    class Curve
    {
    ...
    public:
    V operator ()(int& i);
    ....
    protected:
    V *Ord;
    ....
    }
    le ".cpp"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template<class U, class V>
    V Curve<U,V>::operator () (int & i){ return	Ord[i];	};
    ca ne compile pas... Je ne comprends pas pourquoi?
    2eme question dane le cpp j ai pas besoin de réécrire: template<class U=double , class V=double>?


    [Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    mais ce que je ne comprends pas c est pourquoi si je renvie un type U ca ne pose pas de problème

  4. #4
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Essaye d'être un peu plus précis (sur ce que tu fais, le code et les erreurs correspondantes, ...) parce que là c'est très vague.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 85
    Par défaut
    voici le code


    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    # ifndef _MATRIX
    # define _MATRIX
     
    # include "Matrix.h"
     
     
    template<class U,int n>
    Matrix<U,n>::Matrix(const int aNbElem[]){ 
    	if ( n!=0){
    		int Nb=0;
    		NbElem	= new int[n];
    		for(int i=0;i<n;i++)	{	NbElem[i]=aNbElem[i];	Nb*=NbElem[i];	}
    		if (Nb!=0)	pMatrix= new U[Nb];
    	}
    }
     
     
    #endif
     
    # ifndef _MATRIX
    # define _MATRIX
     
    #include <math.h>
     
     
    template< class U,int n=1>
    class Matrix{
     
    public:
     
    	Matrix(const int aNbElem[]);	
    	Matrix(const int & aNbElem);	
    	Matrix(const int & aNbElem, const int & bNbElem);
    	Matrix();															 
    	~Matrix();															
     
    public:
    	U		operator	()(	int aIndex[] );
    	bool	operator == (const Matrix<U,n> aMatrix);
     
    public:
     
    	int	*NbElem;
    	U	*pMatrix;
     
    };
     
     le message d'erreur est 
    c:\programcpp\stcdo\stcdoproject\cdopricing\headerfiles\matrix.cpp(27) : error C2143: syntax error : missing ';' before '<'
    c:\programcpp\stcdo\stcdoproject\cdopricing\headerfiles\matrix.cpp(27) : error C2501: 'Matrix' : missing storage-class or type specifiers
    c:\programcpp\stcdo\stcdoproject\cdopricing\headerfiles\matrix.cpp(27) : error C2059: syntax error : ';'
    c:\programcpp\stcdo\stcdoproject\cdopricing\headerfiles\matrix.cpp(27) : error C2143: syntax error : missing ';' before '<'
    Error executing cl.exe.[/b]

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/07/2012, 02h15
  2. Réponses: 7
    Dernier message: 25/05/2011, 19h07
  3. Réponses: 1
    Dernier message: 02/11/2006, 20h09
  4. Réponses: 23
    Dernier message: 19/01/2006, 23h34

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