Question

Comment puis-je vérifier si un résultat est du bon type (int, float, double, etc.), puis lancer et attraper une exception dans le cas où ce n'est pas?

Merci à tous,

Vlad.

Était-ce utile?

La solution

Pourriez-vous donner plus de détails sur ce qui vous donne « un résultat », vous pourriez être en mesure de déterminer ce dont vous avez besoin à partir de là et plus susceptibles d'une meilleure façon.

Si tout ce que vous voulez vraiment est de vérifier le type, utilisez typeid . Plus d'infos

Après le modèle de Daniel des postes d'édition pour répondre effectivement à la question après avoir dit autre chose ...

De mon autre commentaire:

  

Vous devez le faire avant de vous   juste le résultat. Vérification de trop-plein   après n'est pas une bonne idée. Faites une vérification   sur les chiffres avant d'ajouter pour voir si   ils déborder, ou restreindre l'entrée   pour être inférieure à la moitié de la valeur maximale de   le type

Autres conseils

Il n'y a aucun moyen de savoir que lors de l'exécution avec C ++. Ceux-ci seraient à la compilation des erreurs.

Pour répondre à votre deuxième question, vous devez vérifier manuellement tampon / sousverses trop-pleins ou utiliser un type plus approprié.

Le plus proche que vous obtiendrez est dynamic_cast .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top