实验了一个 rope 套 pbds 的平衡树,代码如下:
rope<tree<pair<int, int>, null_type, less<pair<int, int> >, rb_tree_tag, tree_order_statistics_node_update> >a;
但是报了错误,似乎是有些符号没定义,应该怎么改捏?
[
In file included from C:/Users/Lenovo_/AppData/Local/Temp/CP Editor-vqicEw/sol.cpp:2:0:
D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/ext/rope: In instantiation of 'void __gnu_cxx::_Rope_RopeSubstring<_CharT, _Alloc>::operator()(std::size_t, std::size_t, _CharT*) [with _CharT = __gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update>; _Alloc = std::allocator<__gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update> >; std::size_t = long long unsigned int]':
C:/Users/Lenovo_/AppData/Local/Temp/CP Editor-vqicEw/sol.cpp:18:1: required from here
D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/ext/rope:879:16: error: call of overloaded 'uninitialized_copy_n(__gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update>*, std::size_t&, __gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update>*&)' is ambiguous
__buffer);
^
D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/ext/rope:879:16: note: candidates are:
In file included from D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/ext/rope:64:0,
from C:/Users/Lenovo_/AppData/Local/Temp/CP Editor-vqicEw/sol.cpp:2:
D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/ext/memory:122:5: note: std::pair<_InputIter, _ForwardIter> __gnu_cxx::uninitialized_copy_n(_InputIter, _Size, _ForwardIter) [with _InputIter = __gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update>*; _Size = long long unsigned int; _ForwardIter = __gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update>*]
uninitialized_copy_n(_InputIter __first, _Size __count,
^
In file included from D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/vector:63:0,
from D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/bits/random.h:34,
from D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/random:49,
from D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/bits/stl_algo.h:66,
from D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/algorithm:62,
from D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/x86_64-w64-mingw32/bits/stdc++.h:64,
from C:/Users/Lenovo_/AppData/Local/Temp/CP Editor-vqicEw/sol.cpp:1:
D:/ProgramFiles/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++/bits/stl_uninitialized.h:673:5: note: _ForwardIterator std::uninitialized_copy_n(_InputIterator, _Size, _ForwardIterator) [with _InputIterator = __gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update>*; _Size = long long unsigned int; _ForwardIterator = __gnu_pbds::tree<std::pair<int, int>, __gnu_pbds::null_type, std::less<std::pair<int, int> >, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update>*]
uninitialized_copy_n(_InputIterator __first, _Size __n,
^
]