0

私は C++ を学習しており、クラス定義で定義された戻り値の型が "my_message_t" の関数を作成しようとしています。ただし、コンパイルしようとすると、コンパイラは次のエラーを通知しました: 'my_message_t' は型に名前を付けていません

次のコードがあります(protocols.hおよびprotocols.cpp)

    namespace Protocols {
                class Messages {
                    public:

                        typedef struct _my_message_t {
                            //stuffs
                        } my_message_t;

                        typedef enum {
                                //stuffs 
                        } my_message_e;

                private:
                    my_message_t                            my_msg;
                    my_message_e                            msg_en; 

                public:
                    Messages();     
                    ~Messages();    

                    my_message_t create_message(const my_message__e); 

            };
        };

クラス定義は以下のとおりです。

            namespace Protocols {

                    Messages::Messages(){
                        //stuff
                    };

                    Messages::~Messages(){
                        //stuffs
                    }

                    my_message_t Messages::create_message(my_message_e type){
                        my_message_t msg;

                        //do stuffs

                        return msg;
                    }
            }

の型の関数を作成できないのはなぜmy_message_tですか? 上記のコードを修正するにはどうすればよいですか?

4

3 に答える 3