Ich habe diesen Code für eine Node-basierte Queue-Implementierung und ich soll eine abstrakte Klasse namens QueueInterface erweitern.Fehler beim Erweitern einer Vorlage abstrakte Klasse
template<typename T>
struct QueueInterface {
public:
virtual ~QueueInterface(){};
virtual bool isEmpty() const = 0;
virtual void enqueue(const T value) = 0;
virtual void dequeue() throw(PreconditionViolationException) = 0;
virtual T peekFront() const throw(PreconditionViolationException) = 0;
};
template<typename T>
struct Queue : QueueInterface {
Queue();
~Queue();
bool isEmpty() const;
void enqueue(const T value);
void dequeue() throw(PreconditionViolationException);
T peekFront() const throw(PreconditionViolationException);
private:
Node<T>* front;
Node<T>* back;
};
Ich halte einen expected class name before '{' token
Fehler bekommen, obwohl ich die QueueInterface Header-Datei enthalten. Warum passiert dies?
Wahrscheinlich gibt es in 'Node.h' oder' QueueInterface.h' ein Tippfehler ist. – NathanOliver
Gibt es nicht. Ich überprüfte. Auch warum würde ein Tippfehler in 'Node.h' diesen Fehler werfen – pyro97
Dies wird ein Ratespiel sein, ohne den Inhalt der anderen Dateien zu kennen. Kannst du sie so gut wie möglich reduzieren und trotzdem den Fehler bekommen? TIA (PS: mein Geld fehlt, am Ende einer Klassendeklaration) – Borgleader