gpt4 book ai didi

c++ - boost 可以有带整数键的 map 吗?

转载 作者:行者123 更新时间:2023-11-28 08:02:01 25 4
gpt4 key购买 nike

我有 boost map 定义如下:

typedef std::pair< int,complex_data > map_value_type;
typedef boost::interprocess::allocator<map_value_typemanaged_shared_memory::segment_manager> map_value_type_allocator;
typedef boost::interprocess::map< int, complex_data, std::less< int>,map_value_type_allocator > complex_map_type;

我从 http://www.boost.org/doc/libs/1_49_0/doc/html/interprocess/allocators_containers.html#interprocess.allocators_containers.containers_explained.containers_of_containers 中获取了代码并用整数替换键。但是我收到以下错误我无法解决:

/usr/include/boost/container/map.hpp:147:1: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’

如果我更换按键,代码似乎可以正常工作。谁能看出这里的问题是什么?

最佳答案

具有 C++ 模板编程经验的人对错误消息很熟悉。忽略 sizeof部分;线索在boost::STATIC_ASSERTION_FAILURE<false> .该类型不应实例化,您需要 boost::STATIC_ASSERTION_FAILURE<true> .但是模板参数使用的确切表达式是什么?

你的模板实例化错误应该有一个实例化堆栈,它导致你的代码失败。大概是在检查

关于c++ - boost 可以有带整数键的 map 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189008/

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