На этот вопрос практически отвечает сам.Первоначально я разместил его, не понимая, что
extern int getchar (void);
из stdio.h
имеет тип int
, преобразованный в char
из кода, который я скопировал.
После удаления этого преобразования и отправки целого числа прямо в мою функцию, приведенную ниже, это сработало правильно:
void Foo::bar(int ch)
{
const QMetaEnum &keyEnum = QMetaEnum::fromType<Qt::Key>();
QTextStream(stdout) << keyEnum.valueToKey(ch) << endl;
}
Это означает, что ch
будет работать с перечислимым оператором switch.