Comment passer vector<char> Tableau en paramètre de méthode
gabbe2
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
Crazy Legs Messages postés 635 Date d'inscription Statut Membre Dernière intervention -
Crazy Legs Messages postés 635 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis étudiante en informatique et je suis en train de programmer un travail sur les classes et les STL (vector et stack) en C++. Pour débuter, voici ce que j'ai:
Ma classe:
Le début de mon main:
Je veux passer Tableau en paramètre à ma méthode "préfixe" pour que ce Tableau contienne les caractères qui y sont entré, mais j'ai une erreur me disant que Tableau n'est pas déclaré.
J'ai essayé Prefix.Tableau, Prefix().Tableau, Tableau(), Prefix.Tableau(), Prefix::Tableau... rien n'y fait.. je ne comprends pas comment passer mon vector<char> en paramètre, et je dois le passer en paramètre PARTOUT!
Merci d'avance!
je suis étudiante en informatique et je suis en train de programmer un travail sur les classes et les STL (vector et stack) en C++. Pour débuter, voici ce que j'ai:
Ma classe:
class Prefix
{
private :
stack <int> PileInt;
stack <char> PileChar;
vector <char> Tableau;
public :
// on lit une expression infixe dans un tableau (du clavier en char),
// on évalue sa validité, on la transforme en préfixe,
// on l'affiche en préfixe et on la calcule en préfixe.
Prefix(); // le constructeur de la classe Prefix
~Prefix(); // le destructeur de la classe Prefix
bool prefixe (vector<char> &Tableau);
bool valider_expression (vector<char> Tableau, stack<char> PileChar);
void transformerEnNombres (vector <char> Tableau);
void transformerEnPrefixe(stack<int> PileInt, vector<char> Tableau);
int evaluer_expression(stack<int> PileInt, vector<char> Tableau);
};
Le début de mon main:
int main(void)
{
bool validation = true;
Prefix objPrefix;
validation = objPrefix.prefixe(Tableau);
return 0;
}
Je veux passer Tableau en paramètre à ma méthode "préfixe" pour que ce Tableau contienne les caractères qui y sont entré, mais j'ai une erreur me disant que Tableau n'est pas déclaré.
J'ai essayé Prefix.Tableau, Prefix().Tableau, Tableau(), Prefix.Tableau(), Prefix::Tableau... rien n'y fait.. je ne comprends pas comment passer mon vector<char> en paramètre, et je dois le passer en paramètre PARTOUT!
Merci d'avance!
A voir également:
- Comment passer vector<char> Tableau en paramètre de méthode
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
3 réponses
Et puis,
quand je ne met aucun paramètre à ma méthode prefixe(), je reçois des erreurs de link qui m'apparaissent beaucoup trop souvent! :
1>main.obj : error LNK2019: symbole externe non résolu "public: __thiscall Prefix::Prefix(void)" (??0Prefix@@QAE@XZ) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "public: __thiscall Prefix::~Prefix(void)" (??1Prefix@@QAE@XZ) référencé dans la fonction _main
1>C:\Users\Utilisateur\Documents\0Université\Session 2 - Hiver 2014\Prog Algo et Structures de donnees\Devoirs\TP2\Devoir2\Debug\Devoir2.exe : fatal error LNK1120: 2 externes non résolus
quand je ne met aucun paramètre à ma méthode prefixe(), je reçois des erreurs de link qui m'apparaissent beaucoup trop souvent! :
1>main.obj : error LNK2019: symbole externe non résolu "public: __thiscall Prefix::Prefix(void)" (??0Prefix@@QAE@XZ) référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu "public: __thiscall Prefix::~Prefix(void)" (??1Prefix@@QAE@XZ) référencé dans la fonction _main
1>C:\Users\Utilisateur\Documents\0Université\Session 2 - Hiver 2014\Prog Algo et Structures de donnees\Devoirs\TP2\Devoir2\Debug\Devoir2.exe : fatal error LNK1120: 2 externes non résolus
Salut,
Il y a en effet un soucis dans ton main.
La fonction prefixe issue de la classe Prefixe demande une référence sur un vector<char>.
Il faut donc non seulement instancier une variable mais aussi qu'elle soit de type vector<char>.
Pour ajouter des valeurs dans ton vector<char>, utilise la fonction push_back() ou std::cin pour récupérer les entrées clavier.
Bon courage :)
Il y a en effet un soucis dans ton main.
bool prefixe (vector<char> &Tableau);
La fonction prefixe issue de la classe Prefixe demande une référence sur un vector<char>.
Il faut donc non seulement instancier une variable mais aussi qu'elle soit de type vector<char>.
int main(void) { std::vector<char> monTableau; bool validation = true; Prefix objPrefix; validation = objPrefix.prefixe(monTableau); return 0; }
Pour ajouter des valeurs dans ton vector<char>, utilise la fonction push_back() ou std::cin pour récupérer les entrées clavier.
Bon courage :)