简体   繁体   中英

Using enum in c++

How to define LogLevel variable l?

Currently I have error:

 Error  3   error C2228: left of '.LogLevelDebug' must have class/struct/union  

Code:

typedef enum LogLevel
{
    LogLevelDebug = 0,
    LogLevelError = 1,
    LogLevelInfo = 2,
    LogLevelTrace = 3,
} LogLevel;



int main ()
{
logLevel l = LogLevel.LogLevelDebug;
}

In c++11 it would be:

enum class LogLevel
{
 LogLevelDebug = 0,
 LogLevelError = 1,
 LogLevelInfo = 2,
 LogLevelTrace = 3,
};



int main ()
{
 LogLevel l = LogLevel::LogLevelDebug;
}

in a previous C++ standard:

enum LogLevel
{
    LogLevelDebug = 0,
    LogLevelError = 1,
    LogLevelInfo = 2,
    LogLevelTrace = 3,
};

int main ()
{
    LogLevel l = LogLevelDebug;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM