Hello I have problems trying to overload the assignment operator in my generic linked-queue class.

Here is the code in question:

template<typename T> 
class Queue : public IQueue<T>
{
(...)
public: 
    Queue();
    Queue(const Queue<T> &origQueue);
    virtual~Queue();
    Queue& operator=(const Queue<T> &origQueue);
    void enqueue(const T& element);
    T dequeue();
    T peek() const;
    int size() const;

};



template<typename T>
Queue& Queue<T>::operator=(const Queue<T> &origQueue)
{
(...)

    return *this;
}

Any ideas of where I'm going wrong?

有帮助吗?

解决方案

Since your class is templated, you wanna return a Queue object, so the return value needs to be templated too:

template<typename T>
Queue<T>& Queue<T>::operator=(const Queue<T> &origQueue)
//...^
{

    return *this;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top