Clang 6 не поддерживает unordered_map :: merge? - PullRequest
0 голосов
/ 21 мая 2018

В этом тривиальном примере я получаю ошибку компиляции:

#include <unordered_map>

int main() {
    std::unordered_map<int, int> a, b;
    a.merge(b);
}

Ошибка:

$ clang++ -std=c++17 merge.cpp
merge.cpp:5:4: error: no member named 'merge' in 'std::__1::unordered_map<int, int, std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<const int, int> > >'
        a.merge(b);
        ~ ^
1 error generated.

Версии:

$ clang++ --version
clang version 6.0.0 (tags/RELEASE_600/final)
Target: x86_64-apple-darwin17.5.0
Thread model: posix
InstalledDir: /usr/local/opt/llvm/bin

Согласноcppreference , это должно быть разрешено начиная с C ++ 17.GCC 7 с радостью скомпилирует его.

...