【发布时间】:2016-04-11 20:36:19
【问题描述】:
我目前正在处理数组并在数组之间移动数据,但是,这不是问题出在我的 void 函数中,更具体地说是我的 for 循环,我不知道为什么它看起来正确时无法编译对我来说,我在老师的笔记中看到,可以在 void 函数的 for 循环中声明一个整数,但仍然会收到错误。
错误: 练习11.cpp:49:12:错误:未在此范围内声明ânâ 对于(i=0;n=11;n
代码:
#include <iostream>
#include <string>
#include <cmath>
#include <cctype>
#include <iomanip>
#include <fstream>
using namespace std;
const int MAX = 20;
void reformat(double[], double[], int);
void sum(double[], double[], int);
int main()
{
double input[MAX];
double newarray[MAX];
cout << fixed << right << setprecision(5);
cout << "Morgan Kiger Lec#1002 Lab#1005 Exercise #11" << endl << endl;
for (int i=0; i<MAX; i++)
{
cin >> input[i];
}
reformat(input, newarray, MAX);
sum(input, newarray, MAX);
return 0;
}
void reformat(double input[], double newarray[], int MAX)
{
for(int i=0; int n=10; n<MAX; i++, n++)
{
newarray[n] = input[i]*2;
}
for(i=0; n=11; n<MAX; i++, n++)
{
newarray[i] = pow(input[n], 0.3);
}
return;
}
void sum(double input[], double newarray[], int MAX)
{
double sum1;
double sum2;
cout << "Input Array" << setw(5) << "2nd Array" << endl;
for(int i=0; i<MAX; i++)
{
sum1 = input[i] + sum1;
}
for(int i=0; i<10; i++)
{
sum2 = newarray[i] + sum2;
}
for(int i=0; i<MAX; i++)
{
cout << input[i] << setw(5) << newarray[i] << endl;
}
cout << "sum of input valves = " << sum1 << endl;
cout << "sum of 1st 10 values in changed array = " << sum2 << endl;
return;
}
【问题讨论】:
-
标点符号的存在是有原因的。错误消息告诉你一切。在这个 for 循环的范围内没有声明“n”;前面的“n”仅限于声明它的 for 循环。
标签: c++ arrays function declare