gpt4 book ai didi

c++ - 无法在 C++ 中通过自动迭代映射

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

我试图通过自动功能迭代这个简单的功能,但它给我带来了很多错误。我不知道这段代码有什么问题。

#include <vector>
#include <unordered_map>
#include <iostream>
using namespace std;

int main() {
std::unordered_map<std::string, int> m = {
{"apples", 5},
{"bananas", 3},
{"pears", 7},
};
for (auto& [fruit, count] : m) { //line 13
std::cout << "I have " << count << " " << fruit << ".\n";
}
}

13 [Error] expected unqualified-id before '[' token13

14 [Error] expected ';' before '[' token

13 [Error] 'fruit' was not declared in this scope

13 [Error] 'count' was not declared in this scope

还有更多的错误。我已经在线阅读了这个示例,它在那里运行良好。

最佳答案

Structured bindings是 C++17 的特性。

在 C++11 中迭代 std::unordered_map 看起来像这样:

for (auto const& p : m) {
std::cout << "I have " << p.second << " " << p.first << ".\n";
}

关于c++ - 无法在 C++ 中通过自动迭代映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60969230/

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