gpt4 book ai didi

c++ - 如何将 const unordered_map 中的值分配给另一个 const 变量 - C++

转载 作者:行者123 更新时间:2023-12-01 23:20:15 26 4
gpt4 key购买 nike

<分区>

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

void fun(const unordered_map<int, vector<int>>& direct_paths) {
const int var = direct_paths[1][0];
cout << var;
}

int main()
{
unordered_map<int, vector<int>> a;
a[1] = vector<int> {1,2,3};
fun(a);
return 0;
}

以上代码输出如下错误:

error: passing ‘const std::unordered_map<int, std::vector<int> >’ as ‘this’ argument discards qualifiers [-fpermissive]
const int var = direct_paths[1][0];
^

下面的代码没有输出任何编译错误:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

void fun(const vector<int>& direct_paths) {
const int var = direct_paths[1];
cout << var;
}

int main()
{
vector<int> a;
a = vector<int> {1,2,3};
fun(a);
return 0;
}

问题:

  1. 我能否以某种方式在 unordered_map 的键值对中分配值?
  2. 为什么不允许从取自 const unordered_map 的 vector 分配整数? & 来自 const vector 允许吗?

提前致谢!

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