Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在for'中定义变量;s括号_C++_For Loop_Scope_Declaration - Fatal编程技术网

C++ 在for'中定义变量;s括号

C++ 在for'中定义变量;s括号,c++,for-loop,scope,declaration,C++,For Loop,Scope,Declaration,我不明白为什么我的变量在第一次的整个身体中都不为人所知。 在for的括号中定义变量是如何工作的? (如果使用int i执行此操作,我仍然会收到错误) void cardlike(向量&v) { 无符号最大位置=0; int tmp; for(无符号i=0;i

我不明白为什么我的变量在第一次的整个身体中都不为人所知。 在for的括号中定义变量是如何工作的? (如果使用int i执行此操作,我仍然会收到错误)

void cardlike(向量&v)
{
无符号最大位置=0;
int tmp;
for(无符号i=0;iv[max_pos])
最大位置=j;
tmp=v[max_pos];
v[max_pos]=v[v.size()-i-1];
v[v.size()-i-1]=tmp;
}
}
这是我使用-std=c++11编译g++时从g++中得到的:

sortvector.cpp:93:38: error: ‘i’ was not declared in this scope   
   for(unsigned j = 0; j < v.size() - i; j++)
                                      ^
sortvector.cpp:98:29: error: ‘i’ was not declared in this scope   
   v[max_pos] = v[v.size() - i - 1];
                             ^
sortvector.cpp:93:38:错误:“i”未在此范围内声明
对于(无符号j=0;j
在for循环的
后面有一个不必要的分号

for (unsigned i = 0; i < v.size(); i++);

for(无符号j=0;jv[max_pos])
最大位置=j;
}

在for
循环的
后面有一个不必要的分号

for (unsigned i = 0; i < v.size(); i++);

for(无符号j=0;jv[max_pos])
最大位置=j;
}

删除此处的分号:

        for (unsigned i = 0; i < v.size(); i++)
                                               ^
for(无符号i=0;i
删除此处的分号:

        for (unsigned i = 0; i < v.size(); i++)
                                               ^
for(无符号i=0;i
发布原因可能是个好主意吗?i、 e.(;;)的
循环遍历空语句
;y()将仅循环通过
x()。可能类似于“虽然应该注意循环中只有一条语句(if
语句),但即使只有一行if
也是一个好习惯,因为这有助于在编辑代码时防止将来出现问题”。发布原因可能是一个好主意吗?i、 e.(;;)的
循环遍历空语句
;y()将仅循环通过
x()。可能类似于“虽然应该注意循环中只有一条语句(if
语句),但即使只有一行if
s,也要养成一个好习惯,因为这有助于防止将来编辑代码时出现问题”
for (unsigned j = 0; j < v.size() - i; j++)
{
    if(v[j] > v[max_pos])
        max_pos = j;
}
        for (unsigned i = 0; i < v.size(); i++)
                                               ^