返回枚举值指南

时间:2013-09-25 07:54:47

标签: enums

假设您的所有函数都返回结果状态(就像Microsoft的HRESULT一样)。这些数字在枚举中定义,其中一个值表示一切正常,所有其他值表示某些不好的味道。

直觉我编号OK = 0和所有其他!= 0。但是,如果你是一个C程序员(和其他几种语言),那么这只是bool的反面。

我开始想知道是否有任何编程指南。一般做法是什么?优缺点都有什么?这是因为我参与了一个项目,其中OK = 0x01,所有其他失败状态都是!0x01(是0x0也是失败),我们正在编组语言之间的返回值(枚举成为整数)。

1 个答案:

答案 0 :(得分:0)

如果零没有错误,而其他任何错误则可以写

error = function_that_returns_an_error();

if( error )
    handleError();

if( !error )
    allsWell();

这是非常清晰的代码

除此之外,有时负值是错误代码,正值是状态代码(例如"需要更多数据",然后零就好了