Ans - It depends. Rule - Whenever we try to access something, locals are checked first (afais-een). If enum value and variable are in same scope, then an error is guarantied. But they are in different scopes, then no (compiler) errors for this reason; but you may expect the unexpected behaviors; while coding you may think that you're trying to access a global variable or global enum value, it might have picked local enum value or variable with same name. To avoid this issue, enum are (most-ly 🤔) suffixed with _e in standard headers. Like in the case of datatypes being appended with _t.