gpt4 book ai didi

c++ - C++ 中的 Typedef 枚举

转载 作者:行者123 更新时间:2023-11-28 05:12:34 25 4
gpt4 key购买 nike

我有一个这样的typedef

typedef enum
{
ONE = 01,
TWO = 02,
THREE = 03
}number_t;

我刚刚定义了一个成员变量为number_t m_number;

所以如果我在任何其他函数中返回 m_number,将返回一个、两个或三个?

最佳答案

由于您没有初始化变量,它有一个不确定的值

因此它可以是映射到 ONETWOTHREE 或任何其他值的整数之一。

enum 对象具有未映射到枚举数的值本身并没有错,因此这不是大问题。但是,您不能合法地评估不确定的值,因此在为它赋值之前,您将无法安全地观察该对象。

顺便说一句,当你到达 08 时,你会感到震惊,如果你跳到 010 则更是如此。不要在整数文字上使用前导零,除非你真的打算用八进制计数。

这是你应该做的:

enum number_t
{
ONE = 1,
TWO = 2,
THREE = 3
};

number_t number = ONE;

关于c++ - C++ 中的 Typedef 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43228573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com