""MyMessageBox に型の名前がありません" C のエラー
このエラーは、クラスが使用していない別のクラスを使用しようとすると発生します。指定されたコードでは、User クラスは MyMessageBox クラスのインスタンスである dataMsgBox という名前のメンバー変数を宣言します。コンパイル時に、MyMessageBox がまだ定義されていないため、エラーが発生しました。
これを解決するには、最初に定義せずに User クラスを宣言します。これにより、MyMessageBox が可能になります。完全な定義がなくても参照するには、MyMessageBox を前に定義して、定義の順序を逆にする必要があります。 User.
または、ポインタを渡す代わりに、null 値を防ぐために参照を渡すことを検討してください: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; };
以上がC で「MyMessageBox に型の名前がありません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。