【发布时间】:2012-11-20 15:59:41
【问题描述】:
我从班级中移出方法实现并发现以下错误:
use of class template requires template argument list
对于方法 whitch 根本不需要模板类型...(对于其他方法都可以)
类
template<class T>
class MutableQueue
{
public:
bool empty() const;
const T& front() const;
void push(const T& element);
T pop();
private:
queue<T> queue;
mutable boost::mutex mutex;
boost::condition condition;
};
错误的实现
template<> //template<class T> also incorrect
bool MutableQueue::empty() const
{
scoped_lock lock(mutex);
return queue.empty();
}
【问题讨论】:
-
不相关,但
queue<T> queue的命名约定真的很奇怪...类型名称应该很容易与实例名称区分开来 -
我会听从你的建议,但这不是根本原因