【Y忍冬草】枚举作为返回类型

 在阅读某项目源码的时候,突然发现项目中函数的返回类型竟然是枚举类型!!!这是什么鬼,表示一脸懵逼!!!!
在这里插入图片描述
 长知识,表示枚举真是个好东西。
 项目中涉及到软件初始化状态、图像是否存在、检测是否成功等事项,如果按照传统方法,则需要定义很多变量,但这些状态不是同时存在的,这也就是为什么这个地方可以使用枚举类型的原因。
例:
// 表示返回状态

typedef enum 
{
	RC_NO_INIT	= -6,		// no initialize
	RC_CHL_NO	= -5,		// channel no
	RC_IMG_NO	= -4,		// image no
	RC_NO_IMG	= -3,		// image null
	RC_RGN_NO	= -2,		// region no
	RC_NO_RGN	= -1,		// region null
	RC_PASS		=  0,		// pass
	RC_FAIL		=  1,		// fail
	RC_OBJ		=  2,		// no object
	RC_SIZE		=  3,		// size
	RC_SURF		=  4,		// surface
	RC_ROUGH	=  5,		// edge rough
	RC_WHT_DOT	=  6,		// white dot
} RETURN_CODE;

RETURN_CODE  ImageExist(HObject srcImage)
{
	if (srcImage.empty())
	{
		return RC_IMG_NO;
	}
	else
	{
		return RC_PASS;
	}

这样就可以很容易查找到当前程序所处的状态,也非常容易定位出程序出错的地方。

 昨晚重新翻阅《C++Primer Plus》时,看到C++的返回类型是这样限制的:
C++对于返回类型有一定的限制:不能是数组,但可以是其他任何类型——整数、浮点数、指针,甚至是结构和对象!(虽然C++函数不能直接返回数组,但可以将数组作为结构或对象组成部分来返回)。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值