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 :

[eclipse CDT+Qt4.4.0] une méthode n'est pas reconnue dans le .cpp


Sujet :

C++

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Points : 213
    Points
    213
    Par défaut [eclipse CDT+Qt4.4.0] une méthode n'est pas reconnue dans le .cpp
    Bonjour,

    je recopie en ce moment un programme de tableur; et j'ai une erreur que je ne comprends pas, voici le programme (extrait):

    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
     
    QVariant Cell::value() const
        {
        if (cacheDirty)
    	{
    	cacheDirty=false;
    	QString formulaStr=formula();
    	if (formulaStr.startsWith('\''))
    	cachedValue=formulaStr.mid(1);
    	else if (formulaStr.startsWith("="))
    	    {
    	    cachedValue=Invalid;
    	    QString expr=formulaStr.mid(1);
    	    expr.replace(" ","");
    	    expr.append(QChar::Null);
    	    int pos=0;
    	    cachedValue = evalExpression(expr,pos);  <----------
    	    if (expr[pos] != QChar::Null)
    	    cachedValue=Invalid;
     
    	    }
    	else
    	    {
    	    bool ok;
    	    double d=formulaStr.toDouble(&ok);
    	    if (ok)
    		cachedValue=d;
    	    else
    		cachedValue=formulaStr;
     
    	    }
    	}
     
        return cachedValue;
        }
    l'erreur se situe au niveau de la flèche
    l'erreur est:

    no matching function for call to `Cell::evalExpression(QString&, int&) const'
    pour info voici le code de cell.h:

    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
     
    #ifndef CELL_H_
    #define CELL_H_
     
    #include <QTableWidgetItem>
     
     
     
    class Cell:public QTableWidgetItem
        {
    public:
        Cell();
     
        QTableWidgetItem* clone() const;
        void setData (int role,const QVariant& value);
        QVariant data(int role) const;
        void setFormula(const QString& formula);
        QString formula() const;
        void setDirty();
     
    private:
        QVariant value() const;
        QVariant evalExpression(const SQtring& str,int& pos) const;
        QVariant evalTerm(const QString& str,int& pos)const;
        QVariant evalFactor(const QString& str,int& pos)const;
     
        mutable QVariant cachedValue;
        mutable bool cacheDirty;
     
     
     
        };
     
     
     
     
    #endif /*CELL_H_*/
    je précise que cell.h représente une cellule du tableur, elle est dérivée de QTableWidgetItem(le tableur est implémenté par le composant QTableWidget).

    lolveley.

  2. #2
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 572
    Points
    1 572
    Par défaut
    Bonjour,

    dans la declaration de ta fonction le premier param est SQtring est une faute de frappe ?

    sinon est ce que ca viendrait du const ?

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Points : 213
    Points
    213
    Par défaut
    j'ai trouvé comment résoudre ce problème, mais (comme Fermat) impossible de me souvenir comment, désolé.Ca va si vite, les petits problèmes...

    lolveley.

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

Discussions similaires

  1. [Débutant] Méthode n'est pas valide dans le contexte donné
    Par Blodsvept dans le forum C#
    Réponses: 9
    Dernier message: 23/06/2015, 10h48
  2. Réponses: 2
    Dernier message: 05/03/2015, 18h02
  3. Réponses: 0
    Dernier message: 19/11/2014, 20h39
  4. une méthode pour ne pas utiliser onLoad
    Par Brag__ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/01/2008, 12h40
  5. Réponses: 2
    Dernier message: 01/05/2007, 19h50

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