Problème méthode vector en paramètre
Bonsoir,
Voici-mon problème. Le but de mon exercice est de découper une phrase rentrée en ligne de commande (découpage à chaque espace).
Ce découpage se fait dans main.cpp
J'aimerai ensuite qu'une méthode dans Analyse.cpp prenne en paramètre ce tableau dynamique, et y effectue différents tests. C'est la que j'ai un problème.
Mon main.cpp :
Code:
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
|
#include <sstream>
#include <string>
#include <iostream>
#include <vector>
#include "analyse.h"
using namespace std;
int main()
{
string entree = "";
string::size_type pos = 0;
int start;
vector<string> tableau; // tableau permettant de recuperer chaque mot
cout << "Bonjour, quelle operation voulez vous effectuer ?" << endl;
std::getline(std::cin, entree); // Récupération de la ligne complete ( pas de coupure aux espaces )
cout << "Analyse de la chaine ..." << entree << endl;
while (pos != string::npos) {
start = pos;
pos = entree.find(" ", start + 1);
if (start == 0) // Quand c'est le premier mot, pas de suppresion d'espace avant
tableau.push_back(entree.substr(start, pos - start ));
else
tableau.push_back(entree.substr(start + 1, pos - start));
cout << tableau.back() << endl; // Affichage de chaque mot recupéré
}
Analyse analiseur;
analiseur.Analyser(tableau);
system ("pause > null");
} |
Mon Analyse.cpp :
Code:
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 "Analyse.h"
#include <iostream>
#include <vector>
#include <string>
using namespace std;
Analyse::Analyse(void)
{
}
void Analyse::Analyser(vector<string> tableau) const
{
cout << "Debut de l'analyse ..." << endl;
}
Analyse::~Analyse(void)
{
//ne rien faire
} |
Mon Analyse.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #ifndef _ANALYSE_
#define _ANALYSE
#include <vector>
#include <string>
class Analyse
{
private:
public:
//constructeur
Analyse(void);
//destructeur
~Analyse(void);
void Analyser(vector<string> tableau) const;
};
#endif |
Comme vous pouvez le constater, actuellement mon analyse ne fait rien. Pourtant, sur Visual Studio (c'est pas de ma faute, c'est imposé pour un projet :oops: ) j'ai différents messages d'erreurs :
Citation:
------ Début de la génération*: Projet*: Projet, Configuration*: Debug Win32 ------
Compilation en cours...
Analyse.cpp
y:\documents\projgeo\analyse.h(20) : error C2061: erreur de syntaxe*: identificateur 'vector'
y:\documents\projgeo\analyse.cpp(17) : error C2511: 'void Analyse::Analyser(std::vector<_Ty>) const'*: impossible de trouver la fonction membre surchargée dans 'Analyse'
with
[
_Ty=std::string
]
y:\documents\projgeo\analyse.h(9)*: voir la déclaration de 'Analyse'
main.cpp
y:\documents\projgeo\analyse.h(20) : error C2061: erreur de syntaxe*: identificateur 'vector'
y:\documents\projgeo\main.cpp(31) : error C2660: 'Analyse::Analyser'*: la fonction ne prend pas 1 arguments
Si quelqu'un a une idée, je suis preneur.
Merci d'avance !
Sebastian