泛型类中的赋值运算符。 C ++

时间:2014-04-10 17:58:35

标签: c++ templates generics variable-assignment operator-keyword

您好我在我的通用链接队列类中尝试重载赋值运算符时遇到问题。

以下是相关代码:

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;
}

关于我哪里出错的任何想法?

1 个答案:

答案 0 :(得分:5)

由于您的类是模板化的,您想要返回一个Queue对象,因此返回值也需要模板化:

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

    return *this;
}