Bonjour,
Tout d'abord, je suis débutant en programmation alors pardonnez mon ignorance.
J'ai décidé, après avoir lu certains avis, de commencer avec code::blocks, et je n'arrive pas a compiler un programme avec des classes. J'ai suivi la faq (http://cpp.developpez.com/faq/cb/?page=3#19) et ai donc fourni les chemins d'accès aux dossiers 'include' et 'src', mais ça ne veut pas.
Voici le programme (très simple, c'est un test) :
le main :
#include <iostream>
#include "point.h"
int main()
{
point a(2.3 , 3.5);
a.affiche();
a.deplace(6.5, 8.4);
a.affiche();
}
le point.h:
#ifndef POINT_H
#define POINT_H
class point
{
int x, y;
public:
point (float, float);
void deplace(float, float);
void affiche();
}
#endif // POINT_H
la def. de la class point du fichier .cpp:
#include "point.h"
point::point(float abs, float ord)
{
x= abs ; y=ord;
}
void point::deplace(float abs, float ord)
{
x= x+abs ; y= y+ord;
}
void point::affiche()
{
cout << "Mes coordonnées cartésiennes sont " << x << " " << y << "\n" ;
}
point::~point()
{
//dtor
}
et les messages d'erreurs:
||=== exo2, Debug ===|
I:\Workspace C++\exo2\include\point.h|5|
error: new types may not be defined in a return type|
I:\Workspace C++\exo2\include\point.h|5|
note: (perhaps a semicolon is missing after the definition of 'point')|
I:\Workspace C++\exo2\src\point.cpp|3|
error: return type specification for constructor invalid|
I:\Workspace C++\exo2\src\point.cpp||In member function 'void point::affiche()'
I:\Workspace C++\exo2\src\point.cpp|15|
error: 'cout' was not declared in this scope|
I:\Workspace C++\exo2\src\point.cpp|18|
error: definition of implicitly-declared 'point::~point()'|
||=== Build finished: 4 errors, 0 warnings (0 minutes, 0 seconds) ===|
Enfin voilà, ça ne m'empêche pas de progresser dans l'absolu, mais j'aimerais bien pouvoir profiter du résultat.
Infos: c'est la version svn 7075, sur windows xp.
Merci pour le coup de pouce.
Partager