结构体嵌套枚举给结构体变量赋值注意

  • Post author:
  • Post category:其他


分两种情况来讨论


1、枚举类型定义在结构体外

//定义枚举类型
enum Flash
{
	AlwaysOn, //0开始递增
	AlwaysOff,
	AllFlashLight,
	AlternateFlash,
};

//定义结构体
typedef struct
{
	int FlashTime;
	enum Flash status;
}sLED;

int main()
{
	sLED LED;
	LED.FlashTime = 300;
	LED.status = AlwaysOn;
	return 0;
}

枚举类型定义在外部时可以直接使用


2、枚举类型定义在结构体内

typedef struct
{
	int FlashTime;
	enum Flash
	{
		AlwaysOn, //0开始递增
		AlwaysOff,
		AllFlashLight,
		AlternateFlash,
	}status;
}sLED;

int main()
{
	sLED LED;
	LED.FlashTime = 300;
	LED.status = sLED::AlwaysOn;
	return 0;
}

使用域操作符

::

表示AlwaysOn是属于sLED的,直接用则无法识别



版权声明:本文为weixin_43689161原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。