fork download
  1. #include <iostream>
  2. #include <map>
  3.  
  4. namespace Errs {
  5. enum Errs {
  6. ERR_TEST1 = 0,
  7. ERR_TEST2,
  8. ERR_TEST3
  9. };
  10. }
  11.  
  12.  
  13. class PrtsErrs {
  14. private:
  15. const std::map<Errs::Errs, std::string> errStr {
  16. { Errs::Errs::ERR_TEST1, "ERR_TEST1" },
  17. { Errs::Errs::ERR_TEST2, "ERR_TEST2" },
  18. { Errs::Errs::ERR_TEST3, "ERR_TEST3" }
  19. };
  20. public:
  21. std::string GetErrStr(Errs::Errs errCode) const
  22. {
  23. return errStr.at(errCode);
  24. }
  25. } ;
  26.  
  27. std::string errs_to_string(Errs::Errs errCode)
  28. {
  29. static const std::map<Errs::Errs, std::string> errStr {
  30. { Errs::Errs::ERR_TEST1, "ERR_TEST1" },
  31. { Errs::Errs::ERR_TEST2, "ERR_TEST2" },
  32. { Errs::Errs::ERR_TEST3, "ERR_TEST3" }
  33. };
  34. return errStr.at(errCode) ;
  35. }
  36.  
  37. int main()
  38. {
  39. PrtsErrs foo ;
  40. std::cout << foo.GetErrStr(Errs::Errs::ERR_TEST2) << std::endl ;
  41. std::cout << errs_to_string(Errs::Errs::ERR_TEST2) << std::endl ;
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0s 3464KB
stdin
Standard input is empty
stdout
ERR_TEST2
ERR_TEST2