STL List problem
Jeg skal lave en adapterklasse til STL list klassen, således at grænsefladen svarer til den, som er defineret i en abstrakt basisklasse, Buffer.Buffer ser således ud:
template<class T>
class Buffer
{
public:
virtual ~Buffer(){}
virtual void put(T value) = 0;
virtual T get() = 0;
virtual bool isEmpty() = 0;
virtual bool isFull() = 0;
virtual int count() = 0;
};
Jeg har lavet headeren til adapterklaseen således:
#include <list>
#include "buffer.hpp"
template <class T>
class STLListBuffer : public Buffer<T>
{
public:
STLListBuffer();
~STLListBuffer();
void put(T value);
T get();
bool isEmpty();
bool isFull();
int count();
private:
list<T> data ;
};
Når jeg forsøger at compile dette (MS VC++ 7) får jeg flg. fejl:
d:\PRG3\LAB1\STLList2Buffer.h(34) : error C2143: syntax error : missing ';' before '<'
d:\PRG3\LAB1\STLList2Buffer.h(35) : see reference to class template instantiation 'STLListBuffer<T>' being compiled
d:\PRG3\LAB1\STLList2Buffer.h(34) : error C2501: 'STLListBuffer<T>::list' : missing storage-class or type specifiers
d:\PRG3\LAB1\STLList2Buffer.h(34) : error C2238: unexpected token(s) preceding ';'
Nogen der har nogen ide om hvad fejlen er, og hvad jeg skal gøre for at få det til at virke ?