Bonjour,
Je code une petite application avec quelques classes. Certaines sont petites, et j'ai mis les méthodes à la suite de la définition de la classe, dans le fichier .h. Genre:
Tout allait bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 class MaClasse { public: MaClasse(); private: Attribut monattribut; void maMethode(); }; MaClasse::MaClasse() { // Definition du constructeur } void MaClasse::maMethode() { // Definition de maMethode() }
Puis j'ai défini une plus grosse classe, et j'ai alors utilisé un fichier .cpp pour en définir les méthodes.
Et alors d'un coup d'un seul, GNU GCC compiler me dit de chacune des méthodes définies dans les fichiers .h (les autres classes, donc, les "petites") qu'elles sont définies plusieurs fois. Mais les deux fois dont il parle sont la même ligne, donc la même définition. Aucune erreur concernant la grosse classe.
Je peux résoudre cette erreur en déclarant ces fonctions "inline".
Est-ce-que tout cela est bien normal?
Merci.
Partager