首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在编译使用C++地图的代码时遇到的问题

在编译使用C++地图的代码时遇到的问题
EN

Stack Overflow用户
提问于 2013-07-09 13:27:19
回答 1查看 111关注 0票数 0

我有以下代码:

代码语言:javascript
复制
std::map<
    const CosTransactions::otid_t,
     std::pair<
        CosTransactions::otid_t,
        CosTransactions::Coordinator_ptr>,
    otid_t_less> XID_Broker_impl::cache;

编译上面的代码时,我得到一个错误,如下所示:

代码语言:javascript
复制
D:/Y24\usr\include/xmemory", line 144: error(483): function
          "std::allocator<_Ty>::address(std::_Allocator_base<_Ty>::value_type
          &) const [with _Ty=const CosTransactions::otid_t]" has already been
          declared
          detected during:
            instantiation of class

我正在使用HP-Nonstop C++编译器?当我删除map中key的"const“时,错误就消失了。这是否意味着我不能在map中使用"const key“?请在这个问题上帮我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 13:51:02

来自C++11§23.3.1类模板映射

代码语言:javascript
复制
For a map<Key,T> the key_type is Key and the value_type is pair <const Key,T>

注意,这里的键类型根据定义是const,这意味着您不应该再次将键类型声明为const

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17540585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档