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

标签 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 )
{

}

最佳答案

试试这个

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/

相关文章:

c++ - 在工厂中返回 unique_ptr

c++ - Clang 链接器说符号未定义

c++ - vector 迭代器不是增量的

c++ - 如何减少大型模板的编译时内存占用?

c++ - C++ 中是否可以有一个 "generic"模板参数,它可以是非类型模板参数,也可以是类型?

c++ - 具有类值的 map 的构造函数

c++ - gluPerspective 和 glOrtho 都没有任何效果

c++ - g++ 和 MSVS 之间的名称查找差异

C++ 构造函数和析构函数

java - 即使参数正确也找不到构造函数