Avertissement du compilateur (niveau 1) C4822

’membre’ : la fonction membre de classe locale n’a pas de corps

Notes

Une fonction membre de classe locale a été déclarée, mais pas définie dans la classe. Pour utiliser une fonction membre de classe locale, vous devez la définir dans la classe. Vous ne pouvez pas la déclarer dans la classe et la définir hors classe.

Toute définition hors classe d’une fonction membre de classe locale est une erreur.

Dans Visual Studio 2019 et versions ultérieures, C4822 est un avertissement désactivé par défaut .

Exemple

L’exemple suivant génère l’erreur C4822 :

// C4822.cpp
// compile with: /W1
int main() {
   struct C {
      void func1(int);   // C4822
      // try the following line instead
      // void func1(int){}
  };
}