salut, j'ai un prob av mon code, je veux lancer une exception si une version entrée n'est pas numérique ou contient autre chose qu'un point (exemple : bon : 2.0.3 pas bon : 3,m). j'ai un fichier version.h version.cc et mon main :
Dans le main :
Dans le version.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include <stdlib.h> #include <iostream> #include <string.h> #include "version.h" using namespace std; int main() { string s1, s2; cout << "Entrez les deux versions : " << endl; cin >> s1 >> s2; try { Version v1(s1); Version v2(s2); } catch(string exception) { cout << "Erreur : " << exception << endl; system("PAUSE"); return 0; } ...
L'erreur set toujours la même quoi que je fasse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 ... public : Version(string v) { for(int k = 0; k < v.length() ; k++) if(v[k] != '.' && v[k] < 0 && v[k] > 9) { version=""; throw ("erreur"); } }; ...
v1 et v2 ne sont pas déclarés dans le main (selon le compilateur) !
Merci de votre aide!
Partager