我定义了这么几个枚举类型:
namespace scf {
typedef enum {
Response = 1, Request, Exception, Config, Handclasp, RebootException
} SDPType;
typedef enum {
JSON = 1, JAVABinary, XML, SCFBinary
} SerializeType;
typedef enum {
Java = 1, Dotnet, C
} PlatformType;
typedef enum {
UnCompress, SevenZip
} CompressType;
//.........
} 这样使用:
Protocol::Protocol(int sessionId, char serviceId, SDPType sdpType, void* sdpEntity, const char *sdpEntityType) {
this->sessionId = sessionId;
this->serviceId = serviceId;
this->sdpType = sdpType;
this->sdpEntity = sdpEntity;
this->sdpEntityType = (char*) sdpEntityType;
this->userData = NULL;
this->serializeType = SCFBinary; // 这里
this->compressType = UnCompress; //这里
this->platformType = C; //这里
} 以上使用正常。现在我想给SerializeType这个枚举添加一个语素,如:
typedef enum {
JSON = 1, JAVABinary, XML, SCFBinary, SCFV2
} SerializeType; 则添加之后,使用时报错, 说Uncompress 和C 没有定义,不知道是什么原因。求指教...
我是用eclipse在linux写的c++程序
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你这样定义枚举不太好吧.可以这样试下:
typedef enum { |
PT_Java=0, PT_Dotnet, PT_C, |
| }PlatformType; |