[C++] D�tection du type d'une variable (saisie d'une matrice)
Bonjour,
Je r�alise actuellement un programme qui prend deux matrices et en renvoit le produit.
Je souhaite am�liorer la robustesse et je cherche � d�tecter lorsque des caract�res sont rentr�s lors de la saisie de la matrice.
J'ai pens� jusqu'� pr�sent � typeid mais rien ne se passe lorsque que je rentre un caract�re, une valeur al�atoire est prise et l'exception qui est sens� etre envoy�e n'est pas prise en compte.
Les �l�ments de ma matrice sont stock�s dans un vecteur.
Voila ce que j'ai essay� pour l'instant :
c'est mon op�rateur qui me permet d'acc�der aux �lements de la matrice en terme de lignes et colonnes (les �l�ments sont ensuite assign�s au stream : is >> m(i,j) )
Code:
1 2 3 4 5 6 7 8 9
| double& Matrix::operator()(int i, int j) const throw(char*)
{
if (i<0 || j<0) throw "Failed to access matrix element";
if (typeid(v[j+i*nrows]).name() == "char*") throw "Invalid matrix element";
else return v[j+i*nrows];// return the value
} |