【发布时间】:2017-04-05 10:29:30
【问题描述】:
我有一个这样的 typedef
typedef enum
{
ONE = 01,
TWO = 02,
THREE = 03
}number_t;
我刚刚定义了一个成员变量为 number_t m_number;
所以,如果我在任何其他函数中返回 m_number,将返回 ONE、TWO 或 THREE 什么?
【问题讨论】:
-
这是C语法,改成
enum number_t { ONE = ... };或者更好的enum class number_t { ONE = ... }; -
如果我在任何其他函数中返回 m_number 将返回什么 -- 未定义的行为,因为您没有初始化 m_number。
-
是的,你是对的。我是 C++ 编码的新手,所以我该如何初始化那个 m_number
-
@zett42 它也是 C++ 语法。但是类型别名确实是多余的。
-
警告:当您到达
08时,您会感到震惊,如果您跳到010则更是如此。除非您真的打算以八进制计数,否则不要在整数文字上使用前导零。
标签: c++ variables enums typedef member