C++枚举值初始化
我在代码中声明了一个枚举:
enum REMOTE_CONN
{
REMOTE_CONN_DEFAULT = 0,
REMOTE_CONN_EX_MAN = 10000,
REMOTE_CONN_SD_ANNOUNCE,
REMOTE_CONN_SD_IO,
REMOTE_CONN_AL,
REMOTE_CONN_DS
};
我期望 REMOTE_CONN_SD_IO 的值是 10002,但是在调试时 ((int)REMOTE_CONN_SD_IO) 的值给出为 3。
另一个组件使用相同的枚举,它给出的预期值是10002 到 REMOTE_CONN_SD_IO。
这可能是什么原因?
I have an enum declared in my code as:
enum REMOTE_CONN
{
REMOTE_CONN_DEFAULT = 0,
REMOTE_CONN_EX_MAN = 10000,
REMOTE_CONN_SD_ANNOUNCE,
REMOTE_CONN_SD_IO,
REMOTE_CONN_AL,
REMOTE_CONN_DS
};
I expect the value of REMOTE_CONN_SD_IO to be 10002, but when debugging the value of ((int)REMOTE_CONN_SD_IO) was given as 3.
Another component uses the same enum and it gives the expected value of 10002 to REMOTE_CONN_SD_IO.
What could be the reason for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,我猜一下。
第一个组件是在您更改标头中的代码之前构建的。尝试重建有问题的组件。
OK, I'll guess.
The first component was built before you changed the code in the header. Try rebuilding the offending component.
一种可能的答案是,在设置 REMOTE_CONN_EN_MA = 10000 后,您的可执行文件未正确重建,因此您的调试内容与您正在查看的内容不匹配。
One possible answer is that your executable wasn't rebuilt properly after you set REMOTE_CONN_EN_MA = 10000 so what your debugging doesn't match what you're looking at.