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 :

je ne troupe pas mon erreur, svp


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 52
    Points
    52
    Par défaut je ne troupe pas mon erreur, svp
    bonjour tlm...

    je ne sais pas si je suis au bon endroit pour poster...
    j'essaie de créer une classe basée sur mysqlite3.h...avec devcpp
    et j'ai une erreur pour laquelle je ne trouve pas d'où ca vient.

    voici mon 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
     
    /********************************************************
    NOM DU FICHIER: mysqlite.h
    ********************************************************/
     
    #ifndef _MYSQLITE_H_
    #define _MYSQLITE_H_
     
    #include <sqlite3.h>
     
    class mysqlite
    {
     
        public:
             mysqlite::mysqlite();
             char mysqlite::open(char *databasename);
     
     
        private:
            sqlite3    *db;
            char       *databasename;
            char       *errmsg;
            int          rc;
    };

    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
     
    /********************************************************
    NOM DU FICHIER: mysqlite.cpp
    ********************************************************/
     
     
    #ifndef _SQLITE_CPP_
    #define _SQLITE_CPP_
     
     
    #include "mysqlite.h"
     
     
     
    /****************
    constructeur
    ***************/
     
    mysqlite::mysqlite()
    {
        *errmsg = 0;
    }
     
    /*****************
    methodes
    *****************/
     
    /*ouvre la base de données spécifiée dans databasename ou la crée si elle n'existe pas.
    une erreur est retournée en cas d'erreur d'ouverture ou de créataion de la base*/
    char mysqlite::open(char *databasename)
    {
        //char *databasename ="database.sdb";
        rc = sqlite3_open(databasename, &db);
        if (rc) {return *sqlite3_errmsg(db);}
        else return 0;
    }
     
     
    #endif //_SQLITE_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
     
    /********************************************************
    NOM DU FICHIER: main.cpp
    ********************************************************/
    #include <cstdlib>
    #include <iostream>
    #include "mysqlite.h"
     
    using namespace std;
     
    int main(int argc, char *argv[])
    {
        char *data = "data.sdb";
        char mysqlite::open(*data);
     
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    et voici l'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    10 main.cpp `char mysqlite::open' is not a static member of `class mysqlite'
    quelqu'un sait peut d'où venir mon erreur de m****?
    je suis sur que c'est un truc bidon...mais je ne sais pas si ca vient de mon code ou des options du compilateur...

    merci d'avance

  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 : 40
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char *data = "data.sdb";
    char mysqlite::open(*data);
    La première ligne est dangereuse, c'est en fait un const char* que tu as.
    La seconde ressemble à un mix entre un appel et une déclaration de fonction membre, c'est un peu n'importe quoi.

    Je suppose que tu voulais faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysqlite obj;
    obj.open("data.sdb");
    PS : Pense à prendre en paramètre des const char* (voire des std::string).

Discussions similaires

  1. $_POST, je ne comprends pas mon erreur
    Par JB122 dans le forum Langage
    Réponses: 3
    Dernier message: 02/09/2014, 14h32
  2. [MySQL] Je ne trouve pas mon erreur de syntaxe
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/04/2013, 16h33
  3. je ne vois pas mon erreur
    Par achta dans le forum Débuter
    Réponses: 3
    Dernier message: 16/07/2009, 12h28
  4. Réponses: 6
    Dernier message: 14/12/2006, 00h37
  5. Je ne comprends pas mon erreur !
    Par oulahoup dans le forum ASP
    Réponses: 4
    Dernier message: 25/08/2005, 14h24

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