开发者社区> 问答> 正文

C++map类型 这里用[]操作符为什么会? ?

图片说明

如图:scores类型是map< string, grade> grade是usigned int类型别名,gradeName是传进来的const string& 类型

我在其他文件里写类似的测试是没问题的,只有在这里,为什么呢?

展开
收起
爱吃鱼的程序员 2020-08-21 16:07:23 1217 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你的map对象是const类型,你通过下表运算符返回的是一个可以改变的,也就是一个左值,这种事错误的。你需要调用map的const方法获取。
    如果你是c++11,可以使用at获取。

    2020-08-21 16:07:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载