C'est étrange, j'ai un souci avec mon code. Mon compilo me fait une erreur sur la ligne de déclaration de l'iterator :
Et voilà mon code :C:\Documents and Settings\Administrator\My Documents\Programmation\Esoteric\Interpreter\Tape.hpp:11: error: expected `;' before "m_pointer"
J'ai du caca dans les yeux ou quoi ?
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 #ifndef TAPE_HPP_INCLUDED #define TAPE_HPP_INCLUDED #include <list> #include "Memory.hpp" template <class T> class Tape : public Memory { private: std::list<T>::const_iterator m_pointer; std::list<T> m_data; T m_default_value; public: Tape(T default_value) { m_data.clear(); m_pointer = m_data.begin(); m_default_value = default_value; } ~Tape() { m_data.clear(); m_pointer = m_data.begin(); } void Left(void) { if (m_pointer == m_data.begin()) { m_data.push_front(m_default_value); } --m_pointer; } void Right(void) { if (m_pointer == m_data.end()) { m_data.push_back(m_default_value); } ++m_pointer; } T Read(void) { return (*m_pointer); } void Write (T value) { (*m_pointer) = value; } }; #endif // TAPE_HPP_INCLUDED
Merci d'avance aux pros, moi je reste myope là.
EDIT de RESOLUTION : J'ai enfin trouvé l'explication sur le net : il manque le 'typename' devant mon iterator qu'il ne considère comme un nom de type.![]()
Partager