#include <iostream>
#include <cstdint>
using namespace std;
enum class ErrorCode : uint8_t { None, Timeout, Overflow, Invalid };
const char* toString(ErrorCode e) {
    switch (e) {
        case ErrorCode::None:     return "None";
        case ErrorCode::Timeout:  return "Timeout";
        case ErrorCode::Overflow: return "Overflow";
        case ErrorCode::Invalid:  return "Invalid";
    }
    return "Invalid";
}
int main() {
    int x;
    cin >> x;
    ErrorCode e = static_cast<ErrorCode>(x);
    cout << toString(e);
    return 0;
}
Solution Details
Significance for Embedded Developers
Input
0
Expected Output
None