#include <iostream>
#include <cstdint>
using namespace std;
// Declare a scoped enum class ErrorCode : uint8_t
// with the following explicit values:
// None = 0
// Timeout = 1
// Overflow = 2
// Invalid = 3
enum class ErrorCode : uint8_t { None = 0, Timeout = 1, Overflow = 2, Invalid = 3};
/*const char* ErroCodeString[] = {
"None",
"Timeout",
"Overflow",
"Invalid"
};*/
// Implement:
const char* toString(ErrorCode e)
{
//return ErroCodeString[static_cast<uint8_t>(e)];
switch(e)
{
case ErrorCode::None:
return "None";
case ErrorCode::Timeout:
return "Timeout";
case ErrorCode::Overflow:
return "Overflow";
case ErrorCode::Invalid:
return "Invalid";
default:
return "Invalid";
};
}
int main() {
int x;
cin >> x;
// Input value is guaranteed to be in the range 0–3
ErrorCode e = static_cast<ErrorCode>(x);
cout << toString(e);
return 0;
}
Input
0
Expected Output
None