ユーザーが入力した入力のタイプを確認する必要があります。目的のタイプでない場合は、エラー メッセージを出力する必要があります。私のコードは次のとおりです。
int ClassInput::inputInt(QString str)
{
signed int l;
std::cout << str.toStdString();
std::cin>>l;
while(!l)
{
eh.handleError(1);
std::cin>>l;
cin.clear ();
cin.ignore (1000, '\n');
}
return l;
}
しかし問題は、float 値が入力されているときにエラー メッセージが表示されないことです。また、次のステップに進み、あたかも正しい入力が入力されたかのように計算を実行します。
エラーステートメントを無限に出力する場合があります。誰でも私のコードを修正できますか?