I have a basic enum
declaration:
enum Title {Prof, Dr, Mr, Mdm, Mrs, Miss, NA};
I'm trying to map the user input(0,1,2,3,4,5,AnyNumber) with correct value from enum
like this:
std::map<std::string,Title> m;
m["0"] = Prof;
m["1"] = Dr;
m["2"] = Mr;
m["3"] = Mdm;
m["4"] = Mrs;
m["5"] = Miss;
std::string stitle;
cout << "\n" << "Title (0:Prof 1:Dr 2:Mr 3:Mdm 4:Mrs 5:Miss Any:NA): ";
cin >> stitle;
Title title = m[stitle];
cout << title; // output 1 when I input 1, output 2 when I input 2 and so on
I expect the above code should be working but whatever I input will be the output from cout
but not the value from enum
list. What's the problem with my code?