【发布时间】:2011-01-21 23:18:21
【问题描述】:
在我的 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”开头的行中,出现以下错误: 第4课-麦克白/life.cpp:58:错误:“单词”之前的预期主表达式 第 4 课-macbeth/life.cpp:58:错误:“foreach”未在此范围内声明 第 4 课-macbeth/life.cpp:58:错误:预期为“;”在'{'令牌之前
我猜 foreach 无法识别。在这种情况下,我如何浏览 Map 类中的项目列表?
【问题讨论】:
-
请告诉我们这本书的名字,以便我们更好地避免它。
-
你想用c++编译c#代码吗?
-
@Everyone- 这是斯坦福大学的入门编程课程 CS106B 和 CS106X 中提供的特殊宏。我们还提供了一个自定义的
Map类,它比STLmap更易于使用;因此大写。 -
@templatetypedef - 感谢您的澄清。在这种情况下,这个问题似乎太本地化了,因为它是针对特定课程的。
-
你必须质疑合成一个语言中不存在的结构的智慧,而不让学生清楚地知道他们不是在学习 C++,而是为教授编程而发明的一些结构。抽象的意义。此外,由于该结构似乎是直接从 C# 复制的,所以在本课程中使用 C# 有什么问题?