从模板堆继承的模板化优先级队列
问题描述:
我试图为我的编程类编写一个优先级队列,但继续得到以下错误: PriorityQueue.cpp:7:1:error:'PriorityQueue :: PriorityQueue'将构造函数,而不是类型 PriorityQueue.cpp:7:1:错误:和'PriorityQueue'没有模板构造函数从模板堆继承的模板化优先级队列
我已经在它几个小时了,不知道什么是错的。下面是它指的是代码:
template < typename DataType, typename KeyType, typename Comparator >
PriorityQueue<DataType,KeyType,Comparator>
::PriorityQueue<DataType,KeyType,Comparator>(int maxNumber)
: Heap<DataType,KeyType,Comparator>(int maxNumber)
{
}
答
试试这个
template < typename DataType, typename KeyType, typename Comparator >
PriorityQueue<DataType,KeyType,Comparator>
::PriorityQueue(int maxNumber) // <-- removed unneeded template parameter
: Heap<DataType,KeyType,Comparator>(maxNumber) // <--- maxNumber should be a parameter to the base class, not a definition.
{
}
感谢,这使得它编译。 :)我们没有得到任何关于这方面的大量指导,去年我们继续了继承,所以语法很模糊 – Jason 2014-11-03 00:27:32