Ich hab mir mal die Fehlerausgabe in Visual C++ 2005 angeschaut, die Ausgabe ist eigentlich eindeutig.
Zitat:
cin.cpp(19) : error C2784: "std::basic_ostream<char,_Traits> &std:
perator <<(std::basic_ostream<char,_Traits> &,unsigned char)": template-Argument für "std::basic_ostream<char,_Traits> &" konnte nicht von "std::istream" hergeleitet werden.
Da steht das deine Umsetzung so nicht geht, weil es keine Implementierung dafür gibt. Wenn du dir dann noch die restliche Ausgabe anschaust, siehst du das der Compiler es noch mit anderen Typen probiert doch noch was zurecht zu mogeln. Es aber immer den gleichen Fehler gibt. Der Compiler kann an dieser Stelle eben nicht raten was du eigentlich vorhast, auch wenn es aus dem Kontext möglich wäre, für einen Menschen. Das mit dem Semikolon erwartet, macht er übrigens auch.