gpt4 book ai didi

c++ - Eigen::aligned_allocator 因 std::unordered_multimap 而失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:40 24 4
gpt4 key购买 nike

我正在尝试在 XCode 6 中编译这段代码:

std::unordered_multimap< Frame*, Sim3, std::hash<Frame*>, std::equal_to<Frame*>, Eigen::aligned_allocator< std::pair<const Frame*,Sim3> > > trackingFailed;

它失败了:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:1461:5: Static_assert failed "Invalid allocator::value_type"

Eigen 3.2.2 还需要用aligned_allocator吗?为什么它在 C++11/C++14 和 libc++ 中失败?

编辑:

如果我从 unordered_map 模板声明中删除 Eigen 分配器,我将得到 no type named value_type

最佳答案

我认为错误在于指针应该是 const ,而不是指针。
即尝试 Eigen::aligned_allocator< std::pair<Frame* const, Sim3> >作为分配器类型。

关于c++ - Eigen::aligned_allocator 因 std::unordered_multimap 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27336941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com