Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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++ C++;声明错误_C++_Arrays_Function_Declare - Fatal编程技术网

C++ C++;声明错误

C++ C++;声明错误,c++,arrays,function,declare,C++,Arrays,Function,Declare,我目前正在使用数组,并在数组之间移动数据,但是,这不是问题所在,问题在我的void函数中,更具体地说,是我的for循环,我不知道为什么它在我看来正确时无法编译,我在老师的笔记中看到,在void函数中,可以在for循环中声明一个整数,但仍然收到错误 错误: exercise11.cpp:49:12:error:n未在此范围内声明 对于(i=0;n=11;n 代码: #包括 #包括 #包括 #包括 #包括 #包括 使用名称空间std; 常数int MAX=20; 无效重新格式化(双精度[],双精度[

我目前正在使用数组,并在数组之间移动数据,但是,这不是问题所在,问题在我的void函数中,更具体地说,是我的for循环,我不知道为什么它在我看来正确时无法编译,我在老师的笔记中看到,在void函数中,可以在for循环中声明一个整数,但仍然收到错误

错误: exercise11.cpp:49:12:error:n未在此范围内声明 对于(i=0;n=11;n 代码:

#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
常数int MAX=20;
无效重新格式化(双精度[],双精度[],整数);
无效金额(双倍[],双倍[],整数);
int main()
{
双输入[最大值];
双新数组[MAX];

cout您的语法是错误的,因为只有
for
序言中的第一条语句是声明部分-您尝试使用两条语句来完成该任务

但是,您可以在一条语句中声明多个变量,这大概是您想要做的:

for (int i = 0, n = 10; n < NAX; i++, n++)
//   ^^^^^^^^^^^^^^^^^
for(inti=0,n=10;n
现在,这些变量只在循环期间存在。这是它们的“作用域”。对于下一个循环,您必须再次声明它们

因此,与此相反:

for(i=0; n=11; n<MAX; i++, n++)
for(i=0;n=11;n
void重新格式化(双输入[],双新数组[],int MAX)
{ 

对于(int i=0;int n=10;n您在
重新格式化
中的
for
循环中使用变量时遇到了几个问题

for(int i=0; int n=10; n<MAX; i++, n++)
第二个问题是,上述声明使得
i
n
仅在
for
循环中有效。它们的范围在
for
循环中结束。它们在第二个
for
循环中无效。需要在第二个
for
循环中重新声明它们

for(int i=0, n=11; n<MAX; i++, n++)

for(int i=0,n=11;npuntuation存在是有原因的。错误消息告诉您一切。在这个for循环的作用域中没有声明“n”;前面的“n”仅限于声明它的for循环。
for(int i=0; int n=10; n<MAX; i++, n++)
for(int i=0, n=10; n<MAX; i++, n++)
for(int i=0, n=11; n<MAX; i++, n++)