2014-11-03 77 views
0

我试图为我的编程类编写一个优先级队列,但继续得到以下错误: 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) 
{ 

} 

回答

1

试试这个

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. 
{ 

} 
+0

感谢,这使得它编译。 :)我们没有得到任何关于这方面的大量指导,去年我们继续了继承,所以语法很模糊 – Jason 2014-11-03 00:27:32