gpt4 book ai didi

c++ - foreach 在 C++ 中无法识别

转载 作者:太空狗 更新时间:2023-10-29 19:36:49 24 4
gpt4 key购买 nike

在我的 cs106b 书中,我们使用表达式“foreach”来遍历 Map 中的单词列表。我实现了代码并用头撞墙面对神秘的错误。这是代码:

   void DisplayWordCounts(Map<int> & wordsCount) {
foreach (string word in wordsCount) {
cout << left << setw(15) << word << right << setw(5)
<< wordsCount[word] << endl;
}
}

在以“foreach”开头的行中,出现以下错误:lesson4-macbeth/life.cpp:58: 错误:'word' 前的预期主表达式lesson4-macbeth/life.cpp:58: 错误:'foreach' 未在此范围内声明lesson4-macbeth/life.cpp:58: error: expected `;'在“{”标记之前

我猜 foreach 没有被识别。在那种情况下,我怎样才能浏览 Map 类中的项目列表?

最佳答案

foreach 不是标准的 C++ 功能。这是 Eric Roberts 和我为斯坦福入门编程序列开发的东西,早于更现代的 C++11 基于范围的 for 循环。现在 C++11 编译器支持更加广泛,我们已经停止使用 foreach,而是选择使用标准 C++ 增强型 for 循环。

我通常不建议继续使用 foreach,因为它是非标准的。但是,如果您正在编译使用它的旧代码,则需要包含 one of the header files from the Stanford C++ Libraries定义它。

关于c++ - foreach 在 C++ 中无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4764858/

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