Derniers journaux de Obsidian :
- [14/12@15:23] SU Révolutions !
- [06/12@23:41] Distribs Linux reconnaissant le Serial ATA ?
- [05/12@23:46] 6 votes positifs à gagner !
- [04/12@13:59] Nom des workspaces sous WindowMaker
- [25/11@14:25] Usbdump ?
- [13/10@15:00] Disques défectueux en cascade ...
- [29/09@22:14] Carte 3C509 et changement de port.
- [23/09@23:30] Mandrake 9.1: Deux problèmes techniques.
- [14/09@15:14] Géométrie de disque et Mandrake 9.1
- [06/09@13:00] Le SPAM le plus ridicule de l'année !
- [28/08@00:24] Au plus mauvais moment !
- [18/08@21:42] J'ai fini Super Methane Brothers !
- [07/07@09:43] Apple Display Software sous Unix ?
- [30/06@17:34] Aidez-moi à convertir un utilisateur supplémentaire à OpenOffice !
- [30/05@22:28] Comment ca marche, les IRQ sur PC ?
- [28/05@15:13] Comment ça marche, les IRQ sur PC ?
Journal : Problème avec G++ 3 .
Posté par Obsidian () le 24 février 2004Bon essayant de recompiler le module de test C++ que j'ai construit pour évaluer la bibliothèque que j'ai écrite dans le même langage, j'obtiens ce message lorsque j'utilise G++ 3:
choosing 'Malib::operator == ' over 'operator ==' because worst conversion for the former is better than worst conversion for the latter
L'opérateur == étant un exemple. J'obtiens ce message une trentaine de fois car je fais un usage intensif de ces opérateurs. Bon, il semble selon Google que ce problème soit largement répandu, et dù précisement aux filouteries utilisés dans la surcharge des opérateurs.
Le problème est que j'ai trouvé beaucoup de forums où les gens se plaignent, mais peu de réponses.
Ma question est donc la suivante: Peut-être quelqu'un connaît-il la solution ou le flag magique à donner à GCC pour déclencher la compilation, mais surtout, existe-t-il une documentation avancée sur G++, voire, peut-on rêver, une une liste détaillée des erreurs que le compilateur est susceptible de retourner, avec un brin d'explication ?
Merci à tous les hackers de DLFP !
> Lire le journal (5 commentaires, moyenne: 1,4).
Re: Problème avec G++ 3 .
> Merci à tous les hackers de DLFP !
Maître corbeau sur un arbre perché ...
-
[^]Re: Problème avec G++ 3 .
Re: Problème avec G++ 3 .
> existe-t-il une documentation avancée sur G++, voire, peut-on rêver, une une liste détaillée des erreurs que le compilateur est susceptible de retourner, avec un brin d'explication ?
Non. Passer des heures à interpreter les messages abscons des compilos fait partie du c++ :) Et g++ est plutot au-dessus de la moyenne (il raconte un peu sa vie, mais il donne generalement plus d'infos que les autres)
Ton message d'erreur je l'ai dejà eu (c'est un des meilleurs, surtout en V.F. ;), mais j'ai oublié ce qui lui posait problème. Sans doute un probleme de conversions implicites quand tu fais a == b avec a et b de type differents ?
-
[^]Re: Problème avec G++ 3 .
Posté par Obsidian () le 24/02/2004 à 13:03. (lien). Évalué à 1.Non. Passer des heures à interpreter les messages abscons des compilos fait partie du c++ :) Et g++ est plutot au-dessus de la moyenne (il raconte un peu sa vie, mais il donne generalement plus d'infos que les autres).
Oh oui. En fait, la bibliothèque elle-même compile bien (et c'est heureux, mais c'est un peu la récompense pour avoir passé des mois à la nettoyer pour la rendre extrêmement propre, au moins dans la limite de mes capacités), mais le module lui-même compile mal, car il est écrit, lui, dans un style, qui correspond un peu plus à ce que les gens qui utiliseront les fonctions de la lib risquent de produire.
En fait, en gros je fait un:
cout << (A == B) << endl;
avec les parenthèses dûes à la priorité des opérateurs. L'expression entre parenthèses est censée retourner un booléen, qui se traduit ensuite par un « 0 » ou un « 1 » renvoyé sur la sortie standard.
Le meilleur, c'est que cela fonctionne très bien avec gcc (g++) 2.95. Malheureusement, je ne compile pas cette bibliothèque sur ma machine personnelle mais sur deux gros serveurs SUN SPARC SunOS, l'un équipé de gcc 2.95.3 et l'autre de gcc 3.1. Je me suis déjà dépatouillé avec les options spécifiques à SPARC. Il ne me manque plus grand chose je crois.-
[^]Re: Problème avec G++ 3 .
Posté par inz () le 24/02/2004 à 14:43. (lien). Évalué à 1.Jamais eu ce message avec g++ 3.
Vu la gueule du message, effectivement, le compilo trouve une ambiguité dans l'interpretation de l'opérateur à l'utilisation. Mais bon vu l'énoncé, il pourrait faire un choix par lui-même, ca ressemble plus a un warning qu'à un error.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8316(...)
Y'a ambiguité entre ton operateur et celui fourni par g++. Ca serait intéressant de voir la signature de ton(tes) opérateur(s) surchargé(s). Apparemment, ce genre d'ambiguité n'est pas ISO C++ compliant.
Maintenant pourquoi ca pète pas en 2.95, ... je suppose qu'il fait un choix arbitraire (genre le premier à être déclarer).
-

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.