我正在尝试为我的编程类编写一个优先级队列,但仍然出现以下错误: 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 )
{
}
最佳答案
试试这个
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.
{
}
关于c++ - 模板化优先级队列继承自模板化堆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26706014/