【发布时间】:2020-11-17 20:16:57
【问题描述】:
将A 视为vector<int>
enter code here
int x,max;
for(x:A){
if(x>max)
max=x;
}
谁能告诉我为什么这给了我错误 这是错误:
solution.cpp:6:10: error: found ':' in nested-name-specifier, expected '::'
for(x:A){
^
::
solution.cpp:6:9: error: 'x' is not a class, namespace, or enumeration
for(x:A){
错误解决一次是在 for 循环中声明 int x
即for(int x :A)
请解决这个问题。提前致谢。
【问题讨论】:
-
无论如何,对于基于范围的 for 循环,这根本就是不正确的语法
-
要获取容器的最大元素,请改用
std::max_element。 -
@Someprogrammerdude 感谢您的建议。你能给我推荐一些好的资源,我可以从中阅读更多关于此类 stl 功能的信息。
-
@khemukaanmol cppreference.com 和 cplusplus.com