/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Problemer med List og ListIterator
Fra : Hansen


Dato : 30-03-03 10:38

Jeg får en compileringsfejl når jeg prøver at compilere følgende kode. Koden
er taget direkte fra en bog derfor kan jeg ikke forstå hvad der skulle være
galt med den. Der opstår 14 fejl, og de stammer alle sammen fra at den ikke
erklærer *_observers variablen pga. at den ikke kender List selv om headeren
er inkluderet. Jeg synes jeg har prøvet alt, men kan ikke gennemskue hvad
der er galt.

#include "Observer.h"
#include <iostream>
#include <List>



using namespace std;

class Subject
{
public:
virtual ~Subject();

virtual void Attach(Observer*);
virtual void Detach(Observer*);
virtual void Notify();
protected:
Subject();
private:
List<Observer*> *_observers; // ***** Det er her den siger fejlen opstår
******
};


void Subject::Attach (Observer* o)
{
_observers->append(o);
}
void Subject::Detach (Observer* o)
{
_observers->remove(o);
}
void Subject::Notify ()
{
ListIterator<Observer*> i(_observers);
for (i.First(); !i.IsDone(); i.Next())
{
i.CurrentItem()->Update(this);
}
}


Håber der er nogen der kan se hvad der er galt.
Hansen






 
 
Morten Brix Pedersen (30-03-2003)
Kommentar
Fra : Morten Brix Pedersen


Dato : 30-03-03 11:35

Den Sun, 30 Mar 2003 11:37:34 +0200, skrev Hansen:
> #include "Observer.h"
> #include <iostream>
> #include <List>

Du mener nok <list>. Og derudover generelt list med lille l i resten af
din kode, så det burde det virke.

- Morten.

Hansen (30-03-2003)
Kommentar
Fra : Hansen


Dato : 30-03-03 16:04


"Morten Brix Pedersen" <morten@wtf.dk> skrev i en meddelelse
news:pan.2003.03.30.10.34.37.498556@wtf.dk...
> Den Sun, 30 Mar 2003 11:37:34 +0200, skrev Hansen:
> > #include "Observer.h"
> > #include <iostream>
> > #include <List>
>
> Du mener nok <list>. Og derudover generelt list med lille l i resten af
> din kode, så det burde det virke.

Jeg har fundet kodeeksemplet i bogen Design Patterns, hvor det er skrevet
netop sådan. Desuden mener jeg ikke at list.h indeholder en list iterator?

Hansen



Mogens Hansen (30-03-2003)
Kommentar
Fra : Mogens Hansen


Dato : 30-03-03 16:41


"Hansen" <bluesboys@-remove.me-hotmail.com> wrote

[8<8<8<]
> Jeg har fundet kodeeksemplet i bogen Design Patterns, hvor det er skrevet
> netop sådan.

Hvad får dig til at eksemplerne i bogen skulle kunne oversættes direkte ?
Det er kun brudstykker af kode der viser strukturen (altså f.eks. Subject og
Observer).
Det vigtige ved design patterns er ikke koden, men strukturen.
Koden skal desuden typisk rettes lidt til i forhold til det aktuelle behov,
så en konkret implementering er end ikke særlig anvendelig.

> Desuden mener jeg ikke at list.h indeholder en list iterator?

Hvad er "list.h" i denne sammenhæng ?

Venlig hilsen

Mogens Hansen




Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste