E2171 Le corps a déjà été défini pour la fonction 'fonction' (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

Une fonction de ce nom et de ce type a déjà été fournie comme corps de fonction.

Un corps de fonction ne peut être fourni qu'une fois.

Une cause de cette erreur est la non déclaration d'un constructeur par défaut que vous implémentez. Par exemple :

class A {
public:
   virtual myex();
};
A::A() {} // erreur

Le constructeur par défaut n'ayant pas été déclaré dans la déclaration de classe, le compilateur a dû en générer un, ce qui entraîne le message d'erreur lorsqu'il en détecte un. Voici un exemple de syntaxe correcte :

class A {
public:
   A();
   virtual myex();
};
A::A() {}