其他分享
首页 > 其他分享> > 如何在C中创建一组无序的整数?

如何在C中创建一组无序的整数?

作者:互联网

以下程序不会编译一组无序的整数对,但它会对整数进行编译. unordered_set及其成员函数可以用于用户定义的类型,我该如何定义它?

#include <unordered_set>
...

class A{
...
private: 
    std::unordered_set< std::pair<int, int> > u_edge_;
};

编译错误:

error: no matching function for call to ‘std::unordered_set >::unordered_set()’

解决方法:

您的代码在VS2010 SP1(VC10)上编译,但无法使用GCC g 4.7.2进行编译.

但是,您可能需要考虑从Boost.Functional的boost :: hash来散列std :: pair(使用此添加,您的代码也会使用g编译).

#include <unordered_set>
#include <boost/functional/hash.hpp>

class A
{
private: 
    std::unordered_set< 
        std::pair<int, int>, 
        boost::hash< std::pair<int, int> > 
    > u_edge_;
};

标签:unordered-set,std-pair,c
来源: https://codeday.me/bug/20190928/1827516.html