Я читаю от пользователя вектор ints, и я пытаюсь выполнить некоторую проверку ввода, чтобы, если пользователь вводит букву, она меняет ее на 0. Вот что я имею.
for(int i=0; i < columns;i++)
{
int temp3;
cin >> temp3;
if (temp3 > 100 or temp3 < 0)
temp3 = 0;
if (isalpha(temp3)) //run-time error here
temp3 = 0; newstu.push_back(temp3); }
прокомментированная строка является проблемой, но поскольку это ошибка во время выполнения. Я не знаю, почему это неправильно или не работает. Есть идеи? Спасибо заранее
если у вас есть доступ к boost, вы также можете попробовать использовать дизайн try / catch.
У вас есть пример: https://www.boost.org/doc/libs/1_55_0 /doc/html/boost_lexical_cast/examples.html