首页 > 解决方案 > oredered_set 未在 C++ 中编译

问题描述

我对此语句进行了编码并收到了编译错误。代码 :

#include<bits/stdc++.h>
#define ll long long
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds ;
template <typename PB>
using ordered_set = tree<PB,null_type,less_equal<PB>,rb_tree_tag,tree_order_statistics_node_update> ;
int main()
{
    ordered_set s;
    s.insert(5);
}

据我所知,我在这里没有犯任何错误。但我收到此错误消息。

Errors while compiling:
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ext\pb_ds\detail\standard_policies.hpp:45:0,
                 from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ext\pb_ds\assoc_container.hpp:47,
                 from c:\Users\asus\Desktop\Contest Probs\Ordered Set.cpp:3:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ext\pb_ds\hash_policy.hpp:610:78: fatal error: ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp: No such file or directory
 #include <ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp>
                                                                              ^
compilation terminated.

标签: c++mingw

解决方案


我怀疑你有一个名为c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ext\pb_ds\detail\resize_policy\hash_standard_resize_policy_imp.hpp0000644. 重命名该文件以0000644从其末尾删除 。


推荐阅读