2014-11-03 62 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