enum type can not accept cin command
c++, enums
Solution
There is no operator>>() for enum. You can implement one yourself:
std::istream& operator>>( std::istream& is, object& i )
{
int tmp ;
if ( is >> tmp )
i = static_cast<object>( tmp ) ;
return is ;
}
Of course, it would be easier if you just cin an integer and cast yourself. Just want to show you how to write an cin >> operator.
Problem
Look t this code plz: ``` #include <iostream> using namespace std; int main() { enum object {s,k,g}; object o,t; cout << "Player One: "; cin >> o; cout << "Player Two: "; cin >> t; if (o==s && t==g) cout << "The Winner is Player One.\n"; else if (o==k && t==s) cout << "The Winner is Player One.\n"; else if (o==g && t==k) cout << "The Winner is Player One.\n"; else if (o==g && t==s) cout << "The Winner is Player Two.\n"; else if (o==s && t==k) cout << "The Winner is Player Two.\n"; else if (o==k && t==g) cout << "The Winner is Player Two.\n"; else cout << "No One is the Winner.\n"; return 0; } ``` while compiling I will get this error:`no match for 'operator>>' in 'std::cin >> o` I'm using code-blocks. so what is wrong with this code?