模板化优先级队列继承自模板化堆

时间:2014-11-03 00:09:42

标签: c++ templates constructor heap priority-queue

我正在尝试为编程类编写优先级队列,但仍然会出现以下错误: PriorityQueue.cpp:7:1:错误:'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 个答案:

答案 0 :(得分: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.
{

}