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
    Nouveau membre du Club
    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
    Points : 35
    Points
    35
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920

  3. #3
    Nouveau membre du Club
    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
    Points : 35
    Points
    35
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    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
    Nouveau membre du Club
    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
    Points : 35
    Points
    35
    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