私は 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
ですか? 上記のコードを修正するにはどうすればよいですか?