Compilation : conflict with a previous declaration

Compilation : conflict with a previous declaration

par Roman Eugène Michel Stemplowski,
Number of replies: 1

Bonjour,

J'ai un problème lors de la compilation de mon fichier Toupie.h qui m'affiche l'erreur suivante :

In file included from testToupie.cc:2:0:
Toupie.h:58:18: error: ‘const double Toupie::m’ conflicts with a previous declaration
     const double m;                                                   //masse de la toupie
                                ^

S'en suivent alors plusieurs erreurs dues au fait que la masse m (qui est un attribut d'une Toupie) n'est pas reconnue comme telle. De plus son accesseur défini peu après ne passe pas non plus à la compilation : il reçoit un warning lui indiquant toujours previous declaration ‘const double Toupie::m() const’. Or il n'y a pas de déclarations de m ou de m() à d'autre endroits. Il est a mon avis fort probable que cette erreur provienne d'un problème d'édition de lien, cependant mon makefile semble correct. Je ne trouve pas non plus de dépendance cycliques des headers et de plus, j'ose imaginer que si cela avait été le cas j'aurai eu bien plus d'erreurs que ce que j'ai.

In reply to Roman Eugène Michel Stemplowski

Re: Compilation : conflict with a previous declaration

par Deleted user,

Tu ne peux pas déclarer un attribut et une méthode ayant le même nom, d'où l'erreur. J'ajoute souvent un '_' aux membres privés de mes classes afin d'éviter ce problème.