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