Итак, у меня есть массив из двух символов
unsigned char v[2];
Я хочу показать значение v[0] как число от 0 до 255, но
cout << v[0] << endl; //prints some garbage
cout << (void*)v[0] << endl; //prints the right thing but in hex
Поэтому я попытался
cout << (int)v[0] << endl;
или
printf("%d\n", v[0]);
Это показывает именно то, что я хотел, но мне это совсем не нравится. Также я совсем не понимаю, почему это не работает:
cout << reinterpret_cast<int>(v[0]) << endl; //compiler error