Может ли кто-нибудь объяснить, почему эти вызовы не возвращают тот же ожидаемый результат?
unsigned int GetDigit(const string& s, unsigned int pos)
{
// Works as intended
char c = s[pos];
return atoi(&c);
// doesn't give expected results
return atoi(&s[pos]);
return atoi(&static_cast<char>(s[pos]));
return atoi(&char(s[pos]));
}
Замечание : Я не ищу лучший способ преобразовать char
в int
.