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 :
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;
    }
...
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
 
...
public :
    Version(string v)
    {
        for(int k = 0; k < v.length() ; k++)
		if(v[k] != '.' && v[k] < 0 && v[k] > 9)
		{
			version="";
                        throw ("erreur");
               }
    };
...
L'erreur set toujours la même quoi que je fasse :
v1 et v2 ne sont pas déclarés dans le main (selon le compilateur) !
Merci de votre aide!