Maison > développement back-end > C++ > Pourquoi est-ce que j'obtiens l'erreur « MyMessageBox ne nomme pas de type » en C ?

Pourquoi est-ce que j'obtiens l'erreur « MyMessageBox ne nomme pas de type » en C ?

Barbara Streisand
Libérer: 2024-11-26 05:12:14
original
871 Les gens l'ont consulté

Why am I getting the

""MyMessageBox ne nomme pas de type" Erreur en C

Cette erreur se produit lorsqu'une classe tente d'utiliser une autre classe qui ne l'a pas fait été défini au préalable. Dans le code donné, la classe User déclare une variable membre nommée dataMsgBox, qui est cependant une instance de la classe MyMessageBox. compilation, MyMessageBox n'a pas encore été définie, ce qui entraîne l'erreur.

Pour résoudre ce problème, nous utilisons une forward déclaration Nous déclarons la classe User sans la définir au préalable, ce qui permet à MyMessageBox de faire référence. même sans sa définition complète. La séquence de définitions doit alors être inversée, avec MyMessageBox défini avant User.

class User; // Forward declaration of User

class MyMessageBox
{
public:
    void sendMessage(Message *msg, User *recvr);
    Message receiveMessage();
    vector<Message *>& dataMessageList;
};

class User
{
public:
    MyMessageBox dataMsgBox;
};
Copier après la connexion

Alternativement, au lieu de passer des pointeurs, pensez à passer des références pour éviter les valeurs nulles :

class MyMessageBox
{
public:
    void sendMessage(const Message& msg, User& recvr);
    Message receiveMessage();
    vector<Message *>& dataMessageList;
};
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal