PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.c++ > VC++ & CodeBlocks
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
VC++ & CodeBlocks

Réponse
 
LinkBack Outils de la discussion
Vieux 03/07/2008, 17h29   #1
Etienne Rousee
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut VC++ & CodeBlocks

Bonjour,

J'ai un truc bizarre:

J'ai fait une classe Polynome avec surcharge des
opérateurs habituels et le code suivant passe sous
VC++ 2005 et pas sous CodeBlocks 8.02:

Polynome P,X;
double d;
P *= X - d;

Par contre, le suivant passe sous les deux:

Polynome P,X;
double d;
Polynome tmp = X - d;
P *= tmp;

Que se passe-t-il ?

Merci d'avance.

--

Etienne


  Réponse avec citation
Vieux 03/07/2008, 18h45   #2
Fabien LE LEZ
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks

On Thu, 3 Jul 2008 18:29:14 +0200, "Etienne Rousee"
<etienne@rousee.org>:

>J'ai fait une classe Polynome avec surcharge des
>opérateurs habituels et le code suivant passe sous
>VC++ 2005 et pas sous CodeBlocks 8.02:


Si je ne m'abuse, CodeBlocks est un IDE, pas un compilateur.

>Polynome P,X;


Je t'invite à réduire ta classe Polynome, afin d'avoir le code minimal
qui reproduise le problème. Si ça ne suffit pas à te faire trouver la
solution tout seul, poste ledit code ici.
Par ailleurs, généralement, un compilateur ne ressort pas un booléen :
si le code ne compile pas, il affiche un message d'erreur. Je t'invite
à le lire.

  Réponse avec citation
Vieux 04/07/2008, 08h39   #3
James Kanze
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks

On Jul 3, 7:45 pm, Fabien LE LEZ <grams...@gramster.com> wrote:
> On Thu, 3 Jul 2008 18:29:14 +0200, "Etienne Rousee"
> <etie...@rousee.org>:


> >J'ai fait une classe Polynome avec surcharge des
> >opérateurs habituels et le code suivant passe sous
> >VC++ 2005 et pas sous CodeBlocks 8.02:


> Si je ne m'abuse, CodeBlocks est un IDE, pas un compilateur.


> >Polynome P,X;


> Je t'invite à réduire ta classe Polynome, afin d'avoir le code
> minimal qui reproduise le problème. Si ça ne suffit pas à te
> faire trouver la solution tout seul, poste ledit code ici.
> Par ailleurs, généralement, un compilateur ne ressort pas un
> booléen : si le code ne compile pas, il affiche un message
> d'erreur. Je t'invite à le lire.


C'est certainement comme ça qu'il faut procéder, mais quand ça
marche avec une variable explicite, et non avec un temporaire
(valeur de retour d'une fonction), il y a tout à parier qu'il y
a une erreur de const. D'autant plus qu'on sait que VC++ a une
extension qui autorise l'initialisation d'une référence
non-const avec un temporaire, et que cette extension est active
par défaut. (Il faut préciser /Za pour la désactiver.) Il y a
donc tout à parier que le type du paramètre de son opérateur *=
est Polynome&, et non Polynome const&, comme il se doit.

--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

  Réponse avec citation
Vieux 04/07/2008, 10h15   #4
Etienne Rousee
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks


"James Kanze" <james.kanze@gmail.com> a écrit...
>Il y a donc tout à parier que le type du paramètre
>de son opérateur *= est Polynome&, et non
>Polynome const&, comme il se doit.


Bien sûr, tu as tout à fait raison, James.
Bon, j'en ai quelques autres à corriger en chaîne,
je vais voir ça.
Merci.

--

Etienne


  Réponse avec citation
Vieux 05/07/2008, 16h58   #5
Alp Mestan
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks

D'ailleurs, de nombreuses FAQs (dont la FAQ C++ de Developpez) en
parlent... Documente toi sur le sujet pour comprendre le fond de la
chose et ainsi être sûr de ne pas reproduire ce genre d'erreurs car
cela te semblerait totalement incohérent.
  Réponse avec citation
Vieux 05/07/2008, 17h19   #6
Neels
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks

Alp Mestan wrote:
> D'ailleurs, de nombreuses FAQs (dont la FAQ C++ de Developpez) en
> parlent...


Eviter quand même de citer des documents bidons, remplis d'inepties, et
écrits par des gamins de 15 ans...
  Réponse avec citation
Vieux 05/07/2008, 18h24   #7
Mickaël Wolff
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks

Neels a écrit :
> remplis d'inepties


Je suis curieux de connaître les inepties qui te font sursauter Et
pourquoi.

> écrits par des gamins de 15 ans...


Sur quoi te bases-tu ?

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
  Réponse avec citation
Vieux 05/07/2008, 19h12   #8
Alain
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks

> Neels a écrit :
>> remplis d'inepties

>
> Je suis curieux de connaître les inepties qui te font sursauter Et
> pourquoi.
>
>> écrits par des gamins de 15 ans...

>
> Sur quoi te bases-tu ?


L'âge est ecrit dans les propriétés des utilisateurs, entre autres de
ceux qui osent se prendre pour des profs.
Il vaut mieux en rire tellement c'est énorme...
Sans parler des forums, une véritable secte, où des mômes modérateurs
de 18 balais, s'amusent à modifier et supprimer les posts dès que ça ne
va pas dans le sens du site (et de sa pub massive (flooding))
C'est assez hallucinant...


  Réponse avec citation
Vieux 05/07/2008, 20h38   #9
Alp Mestan
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: VC++ & CodeBlocks

Les questions/réponses sont revues par des experts C++ français.
Ensuite, généralement ce ne sont pas des gamins de 15 ans qui
interviennent et rédigent (pas comme sur le site du zéro), mais des
programmeurs C++ avertis.

Si tu as un problème avec la politique de Developpez, c'est autre
chose.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 05h30.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,12877 seconds with 17 queries