摸森堡 2020-04-21 11:59 采纳率: 0%
浏览 219
已采纳

萌新求助!将二维数组的元素放入哈希表中出错

我想把一个二维数组中的元素放入哈希表中,数组中的所有元素作为主键,值都是1,代码如下

vector<int> printMatrix(vector<vector<int> > matrix)
{
    //第一种
    multimap<int,int> hash;
    for(auto i:matrix)
    {
        for(auto j:matrix[i])
        hash.insert (pair<int,int>(j,1));
    }
    //第二种
    for(int i=0;i<matrix.size ();++i)
        for(int j=0;j<matrix[i].size ;++j)
            hash.insert (pair<int,int>(j,1));
}

我想用for(auto i:matrix)的方式来遍历数组,但是在 for(auto j:matrix[i])这里报错
1 IntelliSense: 没有与这些操作数匹配的 "[]" 运算符
操作数类型为: std::vector>, std::allocator>>> [ std::vector> ]

我又试了一下正常的for循环遍历,却没有问题。讲道理,上下两种方法应该是等价的,为啥第一个会报错呢?

  • 写回答

1条回答 默认 最新

  • 小学狗喵喵叫 2020-04-21 13:33
    关注
    for(auto j:matrix[i]) 改为 for (auto j : i)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?