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 dans fichier map


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut erreur dans fichier map
    Salut à tous;

    je suis en train de programmer en c++ et j'ai eu cette erreur que je ne comprends pas:
    c:\program files\microsoft visual studio\vc98\include\map(93) : error C2039: 'first' : is not a member of 'pair<class std::_Tree<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class std::basi

    c'est que ce fichier map qui s'ouvre, je ne comprends rien!!!

    quelqu'un pourrait-il m'aider!!!

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Points : 444
    Points
    444
    Par défaut
    On pourrait voir le bout de code qui pose problème ?

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut
    Voilà!!
    quand je clique sur l'erreur, la fléche pointe cette ligne dans le fichier map (à quoi il sert en fait????)

    [CODE]
    _Tref operator[](const key_type& _Kv)
    {iterator _P = insert(value_type(_Kv, _Ty())).first;
    return ((*_P).second); }
    [CODE]

    Cette erreur est incompréhensible vu qu'elle est apparue sans que je ne touche à rien dans ce fichier!!! et que 2mn avant mon prog marchait parfaitement

    Merci de m'aider!!!

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Points : 444
    Points
    444
    Par défaut
    Nan mais je parlais de ton code. Cette erreur vient d'une mauvaise utilisation des map, donc de ton code, pas de la librairie standard. Je suppose que tu n'as aps qu'une seule erreur, mais une liste dont une pointe sur une ligne de ton programme ?

  5. #5
    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 860
    Points
    11 860
    Par défaut
    Dans la liste d'erreurs, une ligne doit en effet pointer sur ton code.
    Le code que tu as écrit entraine une "incompatibilité" avec le code de map, d'ou le fait que map souvre.
    Essaye de trouver la ligne dans ton code qui pose problème.

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut
    Salut à tous!!!

    Merci pour vos réponses mais qu'est ce que le fichier map exactement??????

    Merci pour votre aide et bonne journée!!!

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Points : 444
    Points
    444
    Par défaut
    C'est un fichier de la librairie standard C++, qui te permet de manipuler, comme son nom l'indique, des maps.

  8. #8
    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
    Ce serait quand même bien de voir ton code, à l'occasion.

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut
    Merci!!! voilà je vous envoie le code qui pose problème, il s'agit en fait du code d'interaction avec une bd MySql!!! (désolé c'est un peu long!!)

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
     
     
     
    #include "com_bd.h"
    /**
    *  Fonction d'initialisation, de connection et de d'extraction des données de la BD
    *  @param[in] req    chaine de caractère correspondant à la requete appliquée sur la BD
    *
    */
    MYSQL_RES* connectionSql(string& req)
    {
    	void* MyRes = 0;
    	MYSQL *conn;
     
    		//Initialisation de la base de données
        	if((conn = mysql_init(NULL)) == NULL)
    	{
    		cout<< "PROBLEME D'INITIALISATION DE LA BASE DE DONNEES"<<endl;
     
    	} 
        else 
    	{ 
    		cout<< "SUCCEES D'INITIALISATION DE LA BASE DE DONNEES"<<endl;
     
    		// connexion au serveur (ici, en local) 
    		  if(mysql_real_connect(conn,"localhost","root","","bd",0,NULL,0) == NULL) 
    			{
    			cout<< "PROBLEME DE CONNECTION A LA BASE DE DONNEES"<<endl;
     
    			}
     
    		  else {	
    			 cout<< "SUCCEES DE CONNECTION A LA BASE DE DONNEES"<<endl;
    		     if (mysql_query(conn,req.c_str()))
    			 { 
    				cout << mysql_error(conn) << "<br>";
     
    			 } 
     
    			// requête bonne, traitons les données qu'elle renvoit 
    		     else 
    			 {
    			     MyRes = (void*)mysql_store_result(conn); 
    				 if (MyRes == NULL) 
    				 {
    					 cout << "Aucun résultat à la requête !"<<endl;
    				 }
    			 } 
     
    			// on ferme la connexion au serveur MySQL 
    			mysql_close(conn); 
    	}
     
    	return (MYSQL_RES*)MyRes;
    	}
    }
     
     
    void Ouverture ()
    {
     
        MYSQL_ROW myRow_ch;
    	unsigned int myRows_ch;
        MYSQL_RES* result_ch;
    	string requete_ch;
    	int j;
     
    	requete_ch = "select id_chambre from chambres";
      if(result_ch=connectionSql(requete_ch))
     
      {
    	  if(result_ch != NULL)
    	  {
    		  myRows_ch = mysql_num_fields(result_ch);
     
    		  while ((myRow_ch = mysql_fetch_row(result_ch))) 
                { 
                    for (i = 0; i < myRows_ch; i++) 
    				{
                        printf("%x\t chambre", (myRow_ch[i] != NULL) ? myRow_ch[i] : "NULL"); 
                        printf("\n"); 
     
     
     
    				}//fin for  
    		// mysql_free_result(result_ch);	
                } //fin while	
     
    	  }//fin if
      }//fin if
     
    }// fin fonction

    Merci bp de m'aider!!!

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Points : 444
    Points
    444
    Par défaut
    Bon vu la tête de ton code, je suppose que ça plante dans l'avant dernier printf.

    On peut voir la déclaration de MYSQL_ROW ?

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut
    je ne comprend pas ce que tu me demande
    MYSQL_ROW est un type prédéfini, je n'avais pas à le déclarer juste à l'utiliser pour déclarer myRow_ch!!

  12. #12
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Je vois map nulle part dans ton code.

    Faudrait que t'apprennes à déboguer mon garçon.
    Normalement ton compilateur devrait te donner une trace pour t'indiquer qui a appelé telle fonction qui en a appelé une autre etc. jusqu'à l'erreur.

    Accessoirement, mets aussi ton compilateur à jour.
    Apparemment t'utilises MSVC6, un truc bien obsolète.
    Boost ftw

  13. #13
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 366
    Points : 444
    Points
    444
    Par défaut
    BOn bah je réitère ma question :

    Citation Envoyé par bolhrak
    Nan mais je parlais de ton code. Cette erreur vient d'une mauvaise utilisation des map, donc de ton code, pas de la librairie standard. Je suppose que tu n'as aps qu'une seule erreur, mais une liste dont une pointe sur une ligne de ton programme ?

  14. #14
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 117
    Points : 46
    Points
    46
    Par défaut
    après avoir farfouiller mon code, il s'agit apparement des bib mysql++ et sqlplus.hh que j'utilise pour faire la connexion avec la bd mysql, quand je les mets en commentaires la compilation s'effectue normalement!! mais bien sûr pas d'éxécution!!!

  15. #15
    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 860
    Points
    11 860
    Par défaut
    Encore UNE FOIS : le problème ne vient pas des librairies mais de la façon dont tu les utilises.En fait ils indiquent dans ces fichiers les endroits ou ta façon de te servir de leurs fonctions n'est pas bonne, les endroits ou ca ne colle pas.
    Donc liste nous tes erreurs s'il te plait. Même toutes, ce n'est pas grave. Sans commenter quoique ce soit. Nous te montrerons comment reconnaître ton erreur dans tout ce bazar.

  16. #16
    Inactif  

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    534
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 534
    Points : 403
    Points
    403
    Par défaut
    Salut,

    Sanatou ce code dans
    void Ouverture()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while ((myRow_ch = mysql_fetch_row(result_ch)))
    est trés mauvais.

Discussions similaires

  1. Erreur dans le mapping d'une collection
    Par gégé140488 dans le forum JPA
    Réponses: 1
    Dernier message: 06/10/2011, 16h21
  2. [hs] installshied 2009 , erreur dans fichier MSI
    Par sivaller dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 18/02/2011, 18h00
  3. [XCode] SIGABRT erreur dans fichier main.m
    Par kOrt3x dans le forum XCode
    Réponses: 1
    Dernier message: 12/02/2011, 23h21
  4. Erreurs dans fichier de log
    Par guappi dans le forum Administration
    Réponses: 10
    Dernier message: 25/09/2007, 16h26
  5. Erreur dans fichier de test d'un package
    Par momotsurugi dans le forum Oracle
    Réponses: 2
    Dernier message: 27/04/2006, 20h41

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