Bonjour
Vous constaterez que y'a des fonctions qui ont été traite dans le fichier "solv.cpp" et d'autres pas(pas encore nécessaire).....J'arrive pas à cerner le problème des erreurs que visual-studio m'affiche,j'ai réfléchi pendant un bon bout de temps ,mais rien trouvé

Voici tous les fichiers du projet que j'ai crée:
******SOLVE.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
26
27
28
29
30
31
32
33
34
35
#ifndef DEF_SOLVEUR
#define DEF_SOLVEUR
 
#include <string>
 
 
class solveur
{
private:
 
string *popInit;
string *newPop;
double *note;
 
 
public:
 
 
solveur(string *pop, double *valeur);
~solveur();
void roulette(); //Sera appelée dans la fonction sélection
string *selection(double *not); //Renvoie les individus qui ont été sélectionnés avec la roulette par rapport à leurs notes
void setSelected(string *pop); // Remplie le tableau de la new pop sélectionnée
void croisement(string a,string b);
void mutation(string a);
void evolution(); // Cette fonction fera appel aux méthodes croisement() et mutation()
void setNewPop(); // Cette fonction sera appellée à la fin de l'évolution pour l'obtention d'une new pop
bool reEvaluation();
void reWrite(); // On réécrit les résultats dans un fichier texte pour avant de les repasser au module Evaluation
void selectRandom(); // Sélectionne aléatoirement par rapport au pourcentage
 
};
 
 
#endif
*****SOLV.CPP*****
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <iostream>
using namespace std;
#include <string>
#include "solve.h"
 
/*long teste(double p)
{
double prob;
prob=(rand()/(double)RAND_MAX);
return( (prob<= p) ? 1 : 0);
}*/
 
solveur::solveur(string *pop, double *valeur)
{
int p;
p=(int)(sizeof popInit / sizeof *popInit);
pop=new string[p];
valeur=new double[p];
 
for(int i=0;i<p; i++)
{
popInit[i]=pop[i];
note[i]=valeur[i];
}
}
 
void solveur::roulette()
{
int inc=0,t,i=0;
double S=0.0;
t=(int) (sizeof popInit/ sizeof *popInit);
for (i = 0; i <t; i++)
{
//indice[i]=i;
S=S+note[i];
}
double r;
r=S*(rand()/(double)RAND_MAX );
t=(int) (sizeof popInit/ sizeof *popInit);
for (int j = 0; j<t; j++)
{
for (i = 0; i <t; i++)
{
i=rand()%t;
if (note[i]>r)
newPop[j]=popInit[i];
}
}
for (i = 0; i <t; i++)
{
cout<<""<<newPop[i]<<endl;
}
}
string* solveur::selection(double *not)
{
int t;
t=(int) (sizeof popInit/ sizeof *popInit);
string *popselect(0);
for (int i = 0; i <t; i++)
{
note[i]=not[i];
}
 
roulette();
for (int i = 0; i <t; i++)
{
note[i]=not[i];
popselect[i]=newPop[i];
}
return popselect;
}
void solveur::setSelected(string *pop)
{
int t;
t=(int) (sizeof popInit/ sizeof *popInit);
for (int i = 0; i <t; i++)
{
popInit[i]=pop[i];
}
roulette();
 
}
void croisement(string a, string b)
{
// taille de popInit:je sais pas pourquoi il marque cette erreur,alors qu'il est accepté ci-dessus!
string pc1, pc2;
long k, i;
int t;
t=(int) (sizeof popInit/ sizeof *popInit);
k=(rand()%4);
for (i = 0; i <t; i++)
{pc1[i] = a[i];pc2[i] =b[i];}
for (i =k; i<t; i++)
{pc1[i]= b[i];pc2[i] = a[i];}
for (i =k; i<t; i++)
{ a[i]=pc1[i];
b[i]=pc2[i];
}
 
}
*********MON 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
#include <iostream>
#include "solve.h"
using namespace std;
#include <ctime>
#include <string>
 
using namespace std;
 
void main()
{
string a="111111";
string b="1000101";
croisement(a,b);
system("pause");
 
}
voici les erreurs que ça affiche après la compilation:
> solv.cpp
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solv.cpp(90): error C2065: 'popInit' : identificateur non déclaré
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solv.cpp(90): error C2070: ''unknown-type'' : opérande sizeof non conforme
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solv.cpp(90): error C2065: 'popInit' : identificateur non déclaré
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solv.cpp(90): error C2070: ''unknown-type'' : opérande sizeof non conforme
1> main1.cpp
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(11): error C2143: erreur de syntaxe : absence de ';' avant '*'
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(11): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(11): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(12): error C2143: erreur de syntaxe : absence de ';' avant '*'
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(12): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(12): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(19): error C2061: erreur de syntaxe : identificateur 'string'
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(22): error C2143: erreur de syntaxe : absence de ';' avant '*'
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(22): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(22): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(22): warning C4183: 'selection' : type de retour manquant ; fonction membre retournant 'int' prise par défaut
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(23): error C2061: erreur de syntaxe : identificateur 'string'
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(24): error C2061: erreur de syntaxe : identificateur 'string'
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\solve.h(25): error C2061: erreur de syntaxe : identificateur 'string'
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\main1.cpp(13): error C3861: 'croisement' : identificateur introuvable
1>d:\documents and settings\yorick\mes documents\visual studio 2010\projects\solv\solv\main1.cpp(22): fatal error C1071: fin de fichier inattendue dans un commentaire
1> Génération de code en cours...
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========