No, I don't want conversion, I dno't want locales, just regular char16_t intput and output! Output works, but input doesn't! I asked you many times why, and you only gave me this conversion buffer and locales. WHY DOES IT DO A DYNAMIC_CAST IN CIN>>?
> I don't want conversion ... just regular char16_t intput and output!
How do you expect to read utf-16 from stdin (which is typically either utf-8 or OEM depending on the platform) without doing any kind of translation?
Presumably you are on windows; in the absence of a conforming standard C++ library, you could use _setmode() on the stdin/stdout fd with _O_U16TEXT to get the required translation infrastructure in place http://msdn.microsoft.com/en-us/library/tw4k6df8(v=vs.101).aspx