В вашем коде ValidationStatusCodes
означает int
, а не ваш анонимный тип enum
.Так что они на самом деле никак не связаны.
Однако, поскольку ваш enum
содержит int
значений, вы могли бы сказать, что есть какая-то связь.Вы можете передать имена перечисленных значений, и они будут считаться типа int
или ValidationStatusCodes
.
Кстати, Apple делает нечто похожее на то, что вы делаете, за исключением того, что они typedef
ихколлективные имена до NSInteger
или NSUInteger
вместо int
или uint
.См. этот вопрос для примера.
С учетом всего вышесказанного более распространенной практикой является typedef
имя вашего пользовательского типа непосредственно для анонимного enum
, например:
typedef enum {
ValidationLoginFailed = 2000,
ValidationSessionTokenExpired = 2001,
ValidationSessionTokenInvalid = 2002,
ValidationEmailNotFound = 2003
ValidationSuccessMIN = ValidationLoginFailed,
ValidationSuccessMAX = ValidationEmailNotFound,
ValdationValidSuccessCode = 9999,
ValdationInvalidCode = 10000
} ValidationStatusCodes;