L'erreur ne peut pas appeler la fonction du membre sans objet C ++

L'erreur ne peut pas appeler la fonction du membre sans objet C ++
Le langage de programmation est un paquet de concepts différents, de fonctions intégrées et d'opérations; il propose également de nombreuses erreurs. Ces erreurs peuvent être de type logique, d'erreurs de syntaxe et d'autres également. Vous pouvez obtenir de nombreuses erreurs lors du codage lorsque vous faites des erreurs logiques ou de syntaxe dans le code. L'une des erreurs de plusieurs de ces exceptions est «Impossible d'appeler la fonction des membres sans objet». Cela se produit lorsque nous essayons d'appeler une fonction dans notre programme sans faire un objet de classe. Ainsi, ce guide contient des exemples pour faire en sorte que cette erreur se produise et la solution pour le résoudre. Assurez-vous que vous avez travaillé sur l'Ubuntu 20.04 Système et lancez le terminal via «Ctrl + Alt + T». Commençons par les exemples.

Exemple 01:

Commençons notre premier exemple à expliquer comment nous obtenons l'erreur «Impossible d'appeler la fonction des membres sans objet» dans le code C ++. Donc, la première chose que nous devons faire est de créer un fichier C ++. Ce fichier peut être créé avec un éditeur de texte dans l'explorateur de fichiers ou dans le shell. Vous pouvez essayer de l'ouvrir avec l'éditeur VIM, l'éditeur de texte ou un autre éditeur comme GNU Nano Editor. Nous avons donc ouvert directement ce fichier nouvellement créé dans GNU Nano Editor à l'aide de la commande «Nano». Maintenant, le fichier nouvellement créé vide est lancé dans l'éditeur Nano et prêt à être utilisé.

Nous avons commencé notre code avec l'ajout de certains fichiers d'en-tête, je.e., "Iostream". Vous pouvez utiliser l'espace de noms «std» dans le code tout en le déclarant avant la fonction principale. Sinon, vous devez utiliser le mot-clé «MST» avec chaque clause COUT et CIN du programme. Nous l'avons donc initialisé avant la méthode principale en utilisant le mot-clé «Utilisation». Nous avons créé une classe simple nommée «A» dans le code. Cette classe contient une seule fonction définie par l'utilisateur nommé "Show ()". La fonction contient la déclaration d'une variable de type de caractère nommée «A». La première instruction COUT de cette fonction demande qu'un personnage soit ajouté par un utilisateur. La clause «CIN» permet à un utilisateur d'ajouter ce caractère sur le shell et de l'enregistrer dans la variable «A». La dernière instruction COUT a été utilisée ici pour afficher le caractère sur le shell que l'utilisateur a entré.

Maintenant, la classe est terminée, et nous avons commencé la méthode principale. Il est temps d'appeler la fonction pour l'exécuter sans rien utiliser d'autre. Donc, nous avons simplement utilisé le nom de classe «A» avec «::» pour appeler la fonction «show ()» dans la méthode principale. La méthode principale est fermée ici. Nous sommes prêts à enregistrer ce code avec Ctrl + S car il est déjà complet.

Revenez au terminal en utilisant «Ctrl + x. Maintenant, il est grand temps de compiler le code avec le compilateur intégré C ++ d'Ubuntu 20.04. Ainsi, nous avons utilisé l'instruction du compilateur «G ++» ici pour simplement compiler le fichier de code et voir s'il est sans erreur ou non. En compilation, il montre l'erreur. Cela signifie que nous ne pouvons pas simplement exécuter ou appeler la fonction show () de la classe «A» sans créer un objet de cette classe.

Donc, nous devons à nouveau mettre à jour le fichier de code. Utilisez à nouveau l'éditeur Nano et résolvez cette erreur. Donc l'ancien fichier est à nouveau ouvert. Nous devons seulement modifier la fonction principale () pour échapper à cette erreur jusqu'à présent. Nous avons donc créé un objet «obj» de la classe «A». Maintenant, cet objet «obj» a été utilisé ici pour appeler la fonction show () de la classe «A» en utilisant le «point» entre le nom de l'objet et le nom de la fonction. Enregistrez le code pour refléter les modifications sur l'exécution à l'aide de la touche de raccourci simple, je.e., «Ctrl + S». Le code mis à jour a été affiché dans l'image ci-dessous. Revenons au terminal pour compiler le code mis à jour en utilisant "Ctrl + X".

Utilisé l'instruction du compilateur «G ++» aux fins de la compilation de code. Nous n'avons aucune erreur cette fois. Lors de l'exécution du code, nous avons le résultat indiqué ci-dessous. Il a demandé à entrer dans le personnage, ajoutant «A». En retour, il affichait le caractère sur la coque. En utilisant l'objet pour appeler la fonction show ().

Exemple 02:

Ayons un autre exemple d'obtention de la même erreur et de le résoudre par la suite. Donc, nous avons ouvert l'erreur de fichier.CC et a créé le code décalé ci-dessous. Ce code a été démarré à partir du fichier d'en-tête ioStream, de l'espace de noms STD et s'est terminé sur la méthode principale. Notre programme contient deux classes, A et B. A est une classe parent, et B est une classe d'enfants d'un héritage de ses propriétés ici. La classe A Parent A contient une fonction «print ()» ayant une seule instruction affichant qu'il s'agit d'une fonction de classe parent. La classe d'enfants contient une fonction «show ()» avec une instruction COUT affichant que la méthode de classe enfant a été exécutée. La fonction Main () contient une méthode simple «::» pour appeler les deux méthodes en utilisant leurs classes respectives, je.e., «A» et «B». Exécutons ce code pour voir comment cela fonctionne.

Lorsque nous avons compilé le code, nous avons eu l'erreur d'exception disant «Impossible d'appeler la fonction du membre sans objet» pour les deux appels de fonction. En effet.

Ouvrons à nouveau le fichier en utilisant le "Nano Editor". Il n'est pas nécessaire de modifier l'ensemble du code; Seule la méthode principale () nécessite un peu de modification. Comme vous pouvez jeter un coup d'œil, nous avons créé un objet obj1 de la classe parent «A» et l'avons utilisé pour faire un appel de fonction pour imprimer (). Ensuite, nous avons créé un objet «Obj2» de la classe Child B et avons fait un appel de fonction pour fonctionner «show ()» ici pour l'exécuter. Nous pouvons également éviter de fabriquer l'objet de classe parent «obj1» et d'appeler toujours sa fonction en utilisant l'objet de classe enfant «Obj2». Les deux fonctions dans les classes parents et enfants ont des noms différents, donc cela ne provoquera aucune erreur. Enregistrons simplement le fichier de code avec Ctrl + S et revenons au terminal pour voir si l'erreur est résolue ou non.

Après la compilation du code mis à jour, nous pouvons avoir un coup d'œil que l'erreur «ne peut pas appeler la fonction du membre sans son objet» a enfin été supprimée et que le code est prêt à être exécuté. Les fonctions de classe parent et d'enfants ont été exécutées comme indiqué lors de l'exécution du code.

Conclusion:

Cet article contient une démonstration simple de la création d'une erreur «Impossible d'appeler la fonction des membres sans l'objet» dans le programme C ++. Nous avons utilisé le concept de cours ici pour le rendre possible. Ensuite, nous avons également démontré la solution pour résoudre cette erreur dans les exemples. Nous espérons que cet article sera utile à tous les utilisateurs naïfs C ++.