IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SL & STL C++ Discussion :

Créer un iterator pour une liste


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Par défaut Créer un iterator pour une liste
    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 :
    C:\Documents and Settings\Administrator\My Documents\Programmation\Esoteric\Interpreter\Tape.hpp:11: error: expected `;' before "m_pointer"
    Et voilà mon code :
    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
    J'ai du caca dans les yeux ou quoi ?

    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.

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Il manque des typename.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] comment Créer descripteur HOG pour une liste d'image
    Par sahar90 dans le forum Images
    Réponses: 1
    Dernier message: 15/01/2015, 09h01
  2. Réponses: 3
    Dernier message: 13/04/2006, 18h04
  3. Créer un index pour une Base de données
    Par john7 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/01/2005, 21h43
  4. implémenter la notion "au moins" pour une liste d'
    Par mohamed dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 18/08/2004, 00h07
  5. [Debutant(e)]conseil pour une liste ?
    Par Tymk dans le forum Débuter
    Réponses: 5
    Dernier message: 05/08/2004, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo