|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 57 ![]() |
Bonsoir
J'ai fais un code qui permet de calculer le perimetre d'un rectangle Mais lors de la compilation ya une erreur "expected unqualified-id expected before ')' (ligne 5) j'arrive pas à savoir où est le pb??? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Tu as mis des parenthèses au nom de la classe, ce n'est pas permis, seul les fonctions peuvent en avoir.
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 57 ![]() |
je viens d'enlever les parenthèses et voilà les erreurs qu'on m'affiche
|
|
|
00
|
|
|
#4 |
![]() ![]() Florian BlanchetEtudiant en Optique Inscription : août 2004 Messages : 789 ![]() |
Tu as oublié un ; après la } de la définition de ta classe.
__________________
"We can solve any problem by introducing an extra level of indirection" Butler Lampson "N'importe quel problème peut être résolu en introduisant un niveau d'indirection supplémentaire" Butler Lampson (traduction libre) |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 57 ![]() |
|
|
|
00
|
|
|
#6 | ||||
![]() ![]() |
Salut,
Heuu, à vrai dire, je serais vraiment étonné que, tel quel, ton code fonctionne parce que, en dehors de toute précision contraire (ce qui est le cas tel que tu nous le présente De plus, on préfère éviter le recours à des fonctions de type "init", parce que l'on préfère utiliser un mécanisme nommé "RAII" (Ressource Aquizition Is Initialization) en implémentant une fonciton particulière qui sera d'office appelée lorsque l'on crée une nouvelle instance de la classe et qui s'appelle le "constructeur". Ainsi, ta classe Rectangle devrait plutôt ressembler à quelque chose comme Code :
Code :
Cela a son importance pour la simple et bonne raison que l'on va parfois devoir travailler avec des objets "constants" (des objets dont on ne veut absolument pas qu'ils soient modifiés durant le traitement qu'ils subissent), et que, dans de telles conditions, seules les fonctions qui se seront engagées à ne pas modifier les objet pourront être appelées. Dans de telles circonstances, tu pourras danser sur ta tête, le compilateur sera décidément beaucoup plus buté que toi, et refusera purement et simplement que tu tentes d'utiliser une fonction non constante depuis un objet constant Finalement, le fait de déclarer constant tout ce qui n'a pas vocation à être modifié ou à modifier l'objet au départ duquel la fonction est appelée t'évitera bien des soucis suite à des modifications involontaires, appliquées par des fonctions qui seraient appelées par une fonction à laquelle tu aurais recours
__________________
en bas de page |
||||
|
|
10
|
|
|
#7 | |||||
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 57 ![]() |
Citation:
Sinon ce code marche très bien parait-il , on l'as écris en classe avec notre prof donc ça sera bizarre que ça soit faux? |
|||||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 57 ![]() |
Autre question : comment vous faites pour faire une capturer de votre code ainsi ??
|
|
|
00
|
|
|
#9 |
![]() ![]() |
Au temps pour moi, je n'avait pas vu la ligne public:
![]() Ceci dit, mes remarques concernant le recours à des fonctions "init" et la const-correctness restent tout à fait valables J'aurais tendance à dire que ton prof fait plus du "C with classes" que du C++ Si j'étais méchant, je pourrais facilement dire que ton prof aurait besoin d'une sérieuse remise à plat de ses connaissances en C++ (même s'il est peut etre très compétant en C au demeurant Ce qui est vrai aussi, c'est que l'on a l'habitude (mais bon, ce n'est qu'une haibtude, hein Cela ne mange pas de pain de laisser une ligne vide, mais cela permet d'éviter les cas comme celui auquel on est confronté : une lecture un peu trop rapide a fait que je n'ai, en toute bonne foi, simplement pas vu que le mot clé public: était bel et bien présent Il est bon de garder en mémoire qu'un code source sera beaucoup plus souvent lu ou étudié qu'il ne sera compilé Avant même de penser à faire un code correct, il est donc important à faire en sorte que le code reste lisible aisément par l'humain, cela évite énormément de méprises
__________________
en bas de page |
|
|
00
|
|
|
#10 | |
![]() ![]() |
Citation:
[ CODE ] Le code ici [ / CODE ] (sans les espaces que je n'ai mis que pour éviter que les balises ne soient interprétées C'est le bouton # au dessus du formulaire
__________________
en bas de page |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com