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

SL & STL C++ Discussion :

vector et compagnie


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Par défaut vector et compagnie
    Bonjour,

    Après avoir longtemps pleuré sur la lenteur de Java j'ai décidé de me mettre au C++. J'essaie d'utiliser les classes vector et string et bien sur j'obtiens plein d'erreurs dont je ne comprend pas tellement le sens ni l'origine. Voici l'exemple sur lequel je travaille:

    Point.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
     
    #ifndef POINT
    #define POINT
     
    class Point {
     
     public:
     
      Point(int x, int y);
     
      Point();
     
      int get_x();
     
      int get_y();
     
      void set_x(int x);
     
      void set_y(int y);
     
     private:
     
      int x;
     
      int y;
     
    };
    #endif
    Point.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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #include "Point.h"
     
    Point::Point(int x, int y) {
      this->x = x;
      this->y = y;
    }
     
    Point::Point() {
      this->x = 0;
      this->y = 0;
    }
     
    int Point::get_x() {
      return this->x;
    }
     
    int Point::get_y() {
      return this->y;
    }
     
    void Point::set_x(int x) {
      this->x = x;
    }
     
    void Point::set_y(int y) {
      this->y = y;
    }
    test.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
    #include "Point.h"
    #include <iostream>
    #include <vector>
     
    using namespace std;
     
    int main() {
      Point p(3,4);
      //cout << "p = (" << p.get_x() << "," << p.get_y() << ")\n";
     
      vector<Point> vect();
      vect.push_back(p);
     
      cout << "vect size=" << vect.size() << "\n";
     
      return 0;
    }
    Et voilà les jolies insultes de g++:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    test.cpp: In function `int main()':
    test.cpp:12: error: request for member `push_back' in `vect', which is of non-class type `std::vector<Point, std::allocator<Point> > ()()'
    test.cpp:14: error: request for member `size' in `vect', which is of non-class type `std::vector<Point, std::allocator<Point> > ()()'
    Merci à l'avance pour votre aide précieuse

    Giann

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Voilà, c'est tout.

  3. #3
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Je complète la réponse précédente : il faut mettre cela à la place de car ton code est la syntaxe de déclaration d'une fonction retournant un vector<Point>.
    Ca doit être dans la FAQ.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Par défaut
    C'était ça en effet. Merci pour l'aide (je risque de revenir bientot avec de nouvelles insultes ^^)

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par défaut
    la FAQ est super bien foutue sinon, ça aide!

Discussions similaires

  1. [Struts] logic:iterate avec un Vector
    Par laurentb dans le forum Struts 1
    Réponses: 18
    Dernier message: 03/03/2004, 14h42
  2. vector et erase()
    Par gytr2 dans le forum SL & STL
    Réponses: 6
    Dernier message: 02/03/2004, 12h45
  3. equivalent Vector du jsp
    Par Djib dans le forum ASP
    Réponses: 4
    Dernier message: 05/12/2003, 08h07
  4. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21
  5. Réponses: 2
    Dernier message: 11/07/2003, 18h24

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