Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2213 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  pbm de déclaration

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pbm de déclaration

n°678054
narry
Posté le 19-03-2004 à 13:23:09  profilanswer
 

bonjour à tous
j'ai un blème, je doit corriger un prog, comme je suis novice en c++, je vous donne la portion du code:
 
#include <string>
class Exception {
protected:
/*ligne 4*/ string * erreur;
public:
/*ligne 6*/  Exception(){erreur = new string()}
 
/*ligne7*/  Exception (string message);
 
  Exception(const Exception& e);
 
  virtual ~Exception(){delete erreur;}
 
/*ligne 13*/  string getError();
};
 
#endif  
 
voila et il me donne ces messages d'erreur
 
4: syntax error before `*' token
7: parse error before `message'
13: parse error before `)' token
In constructor `Exception::Exception()':
6: `erreur' undeclared (first use this function)
6: (Each undeclared identifier is reported only once for each function it appears in.)
6: parse error before `;' token
 
si vous pouviez m'eclairer sur ça, et comment résoudre ces prob, je vous remercie bcp

mood
Publicité
Posté le 19-03-2004 à 13:23:09  profilanswer
 

n°678058
Taz
bisounours-codeur
Posté le 19-03-2004 à 13:26:36  profilanswer
 

using namespace std;
 
 
1) pas de sms style
2) utilisez les balises cpp
 
i) aucun intéret d'avoir une string allouée dynamiquement
ii) faut faire dériver d'une exception de base  
iii) marquer les méthodes qu'ils faut comme throw() et/ou const
iv) passer les paramètres par const &
v) si t'as rien compris, alors continue à apprendre et vite / lfaire une recherche sur le forum


Message édité par Taz le 19-03-2004 à 13:27:29
n°678103
narry
Posté le 19-03-2004 à 14:10:42  profilanswer
 

oui je ne comprends pas ce que tu dis j'ai bien dit que j'étais novice donc si tu pouvez expliquer les choses plus simplement ça serais gentil de ta part
merçi

n°678390
xterminhat​e
Si vis pacem, para bellum.
Posté le 19-03-2004 à 19:49:35  profilanswer
 

voila ce qu'il a voulu dire...
 

Code :
  1. #include <string>
  2. using namespace std;
  3. class Exception {
  4. protected:
  5. string * erreur;
  6. public:
  7. Exception(){erreur = new string;}
  8. Exception(string & message);
  9. Exception(const Exception & e);
  10. virtual ~Exception(){delete erreur;}
  11. string getError();
  12. };


 
Bizarre ton pointeur : string *. Si tu veux remplacer un vieux char *, tu as seulement besoin d'un string tout court.
 
Cordialement,
 xteR.


Message édité par xterminhate le 19-03-2004 à 19:50:55
n°678391
Taz
bisounours-codeur
Posté le 19-03-2004 à 19:51:11  profilanswer
 

xterminhate a écrit :

voila ce qu'il a voulu dire...
 

Code :
  1. #include <string>
  2. using namespace std;
  3. class Exception {
  4. protected:
  5. string * erreur;
  6. public:
  7. Exception(){erreur = new string;}
  8. Exception(string & message);
  9. Exception(const Exception & e);
  10. virtual ~Exception(){delete erreur;}
  11. string getError();
  12. };


 
Bizarre ton pointeur : string *... si tu veux remplacer un vieux char *, string tout court dont tu as besoin.
 
Cordialement,
 xteR.

non, tu as tout faut. quand on ne sait pas définir une exception, on ne le fait pas. on doit réduire au minimum le risque qu'une exceptions en déclenche une autre. ça n'est pas le cas. cai mauvais.

n°678396
xterminhat​e
Si vis pacem, para bellum.
Posté le 19-03-2004 à 20:07:57  profilanswer
 

J'avais pas vu le nom de la classe de narry! Je m'etais entété a réécrire son code betement pour inserer le namespace et garantir la bonne compile.  
 
En effet, si cette classe est destinée à traiter les exceptions .... c'est une autre histoire.
 
Cordialement,
   Xter.

n°678404
Taz
bisounours-codeur
Posté le 19-03-2004 à 20:12:57  profilanswer
 

xterminhate a écrit :

En effet, si cette classe est destinée à traiter les exceptions .... c'est une autre histoire.

ouais ouais, genre elle s'appelle Exception ...

n°678417
xterminhat​e
Si vis pacem, para bellum.
Posté le 19-03-2004 à 20:29:22  profilanswer
 

Arf! Vu comme ça ;)
 
Les exceptions ne s'addressent pas vraiment aux novices. Franchement, ca me tuerait que narry se mette à la programmation des exceptions, alors qu'il ne connait pas ni le namespace et ni le std::string.... enfin on ne sait jamais :p
 
Cordialement,
   XteR.

n°678425
Taz
bisounours-codeur
Posté le 19-03-2004 à 20:44:30  profilanswer
 

si ça s'adresse aux novices. mais quand on leur enseigne rien, ça abouti a ce genre de bêtises


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  pbm de déclaration

 

Sujets relatifs
Erreur de déclaration: Note& au lieu de Note*declaration de thread en global et threadstart [résolu]
declaration d'un sous typehéritage ou déclaration d'objet ?
pb de declaration de structure .declaration de fonction, C++ vers delphi
[C][Newbie][Résolu] Déclaration de tableauORACLE PL/SQL Déclaration de tigger [RESOLU]
declarationdéclaration d'un template
Plus de sujets relatifs à : pbm de déclaration


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)