Здравствуйте, netch80, Вы писали:
N>Во-первых, то, что для Вас char по умолчанию тождественен signed char и Вы не предполагаете иного — уже показательно.
Грубо выдирая твои слова из контекста, хочу отметить, что никогда char не тождественен signed char или unsigned char:
void foo(char)
{
}
void foo(signed char)
{
}
void foo(unsigned char)
{
}
template<typename T>
struct bar;
template<>
struct bar<char>
{
};
template<>
struct bar<signed char>
{
};
template<>
struct bar<unsigned char>
{
};
Т.е. это три совершенно разных человека.