Условие
if (typeid(in) == typeid(int()))
будет оценено как ложное.
Для того, чтобы оно стало истинным, вам потребуется
if (typeid(in) == typeid(int))
Выполнение пример
Но, как уже говорилось, если вы хотите проверить правильность ввода, это не путь к go.