> > unsigned char c = c; > > is guaranted to work, just like What on earth does "work" mean here (in formal C++ standard terms, not in pragmatic "we-know-what-it-must-mean" terms.