Bonjour,
Je démarre un nouveau projet et j'ai décidé de le faire en C++. J'en ai pas fais depuis 10 ans, donc ça a evolué.
Notamment, je découvre les templates, la librairie STL et plus particulièrement ce qui m'interresse la class LIST
J'utilise CodeBlocks, et mon souci est que je n'arrive pas à utiliser LIST.
extrait de mon code :
entete :
source :
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 #ifndef STUDYSYSTEM_H_INCLUDED #define STUDYSYSTEM_H_INCLUDED #include <C:\Data\Dev\Processor\Include\Galerie.h> //#include <stdexcept> //required for defining and catching standard exceptions #include <List> using namespace std; enum SolveSystem { SS_Simple = 1, SS_Hardy_Cross =2 }; typedef list<CNode> TNodesList; typedef list<CSection> TSectionsList; typedef list<CLine> TLinesList; class CStudySytem { public: TNodesList NodesList; TSectionsList SectionsList; TLinesList LineList; CStudySytem(); virtual ~CStudySytem(); void AddANode(PNode N); protected: private: }; #endif // SYSTEM_H_INCLUDED
la completion de code pour "NodesList." me propose que ERASE et INSERT ... ?
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 #include <C:\Data\Dev\Processor\Include\StudySystem.h> #include<List> using namespace std; /** @brief CStudySytem * * @todo: document this function */ CStudySytem::CStudySytem() { } /** @brief ~CStudySytem * * @todo: document this function */ CStudySytem::~CStudySytem() { } /** @brief Add a new node to the system * * @todo: document this function */ void CStudySytem::AddANode(PNode N) { NodesList.push_back(N); }
Avec mon pus_back(N) j'ai le message d'erreur :
Tous les tuto, les faq que je trouve montre des exemples simple avec des methodes push_back, push_front, reverse, ... ELLES SONT OU ?C:\Data\Dev\Processor\Include\StudySystem.cpp|30|error: no matching function for call to `std::list<CNode, std::allocator<CNode> >::push_back(CNode*&)'|
J'ai lu ici que la STL n'etait pas integree avec CodeBlocks. OK. Je l'ai telechargé sur http://jlecomte.ifrance.com/c++/c++-...raries-fr.html J'ai consulté le code et c'est bizarre je trouve des methodes _push_back_aux ... qui demande un autre parametre ...
bref je n'y comprends rien !
Est ce que qqun pourrait éclairer ma lanterne ?
Merci d'avance.
Partager