Error Code Mapping

#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&#8211;3
    ErrorCode e = static_cast<ErrorCode>(x);

    cout << toString(e);
    return 0;
}

Solving Approach

 

 

 

 

 

Upvote
Downvote
Loading...

Input

0

Expected Output

None