C ++如何将参数传递给STL函数

尼克普克

我必须将无序映射传递给优先级队列的比较器函数,并使用链接将参数传递给比较函数?我决定这样做如下:

 priority_queue < int, std::vector<int>, compare(freq) > pq;
 struct compare
    {
        compare( std::unordered_map<int,int>& freq1 )
        {
            freq = freq1;
        }

        bool operator()( int& el1, int& el2 ){
            return freq[el1] < freq[el2];
        }    
        std::unordered_map<int,int> freq;
    };

但是我得到了错误:

Template argument for template type parameter must be a type

我究竟做错了什么?

songyuanyao

如错误消息所述,compare(freq)它不是类型,因此不能将其指定为类型模板参数。

您应将指定compare(freq)为的构造函数priority_queue的参数,并将其指定compare为类型模板的参数。

priority_queue < int, std::vector<int>, compare> pq{compare(freq)};
//                                      ^^^^^^^    ^^^^^^^^^^^^^^^ 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将参数传递给C中的函数指针?

如果传递的函数也将函数作为参数,如何将函数作为参数传递给C中的函数?

如何将指针传递给在 C++ 中作为引用传递参数的函数

如何将Go函数作为参数传递给C函数?

如何将函数传递给具有不同参数的函数并执行c#

我如何将函数作为参数传递给 C++ 中的函数

如何将Swift字符串数组传递给带有char **参数的C函数

如何将 Swift 中的参数传递给采用 UnsafePointer 的 C 函数?

在Autofac C#Resolve中,如何将参数传递给构造函数

如何将C#对象作为参数传递给Javascript函数

如何将常量数组作为参数传递给C ++函数/方法

如何将任意数量的参数传递给C ++模板函数?

如何将float数组和float作为参数传递给C中的函数

Android NDK如何将接收到的DatagramPacket作为参数传递给C函数?

如何将函数指针传递给成员函数C ++?

如何将值传递给指针参数C ++

如何将模板化的矢量传递给C ++函数?

如何将字符数组传递给C中的函数

如何将C NULL传递给基于XS的函数?

C指针,了解如何将数组传递给函数

如何将 void 指针传递给 C 中的函数?

如何将切片的每个元素作为单独的参数传递给可变参数C函数?

C ++-如何将比较器正确传递给STL函数

我如何将数组作为args列表传递给C中具有可变数量参数的函数

如何将char数组的特定索引传递给outtextxy()函数在c中的第三个参数

将C ++成员函数指针传递给STL算法

c - 如何将函数指针传递给c中的函数?

用C语言编写python扩展时,如何将python函数传递给C函数?

如何将指针传递给函数并在函数C ++中动态分配内存