0
我正在试图用斐波那契堆和优先队列编写Dijkstra算法。所以,我对于斐波那契堆带模板和优先级队列的函数
template<class T>
struct Fib {
...
};
一个类(结构)和功能
template <template <class> class T>
void dijkstra(...) {
T<std::pair<double, int> > heap;
...
}
的问题是:
dijkstra<Fib>(...); // OK
dijkstra<std::priority_queue>(...); // doesn't compile
为什么没有这样的编译,以及如何我正确写入?
的std :: priority_queue本身就是一个模板,你有没有实例化对象将持有型的模板。 – Jonathan