1 c++ generics templates 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;
}
Run Code Online (Sandbox Code Playgroud)
我出错的地方有什么想法吗?
由于您的类是模板化的,您想要返回一个Queue对象,因此返回值也需要模板化:
template<typename T>
Queue<T>& Queue<T>::operator=(const Queue<T> &origQueue)
//...^
{
return *this;
}
Run Code Online (Sandbox Code Playgroud)