【问题标题】:Why do I get an "identifier "array" is undefined" compile error? [closed]为什么会出现“标识符”数组“未定义”编译错误? [关闭]
【发布时间】:2013-04-30 10:19:03
【问题描述】:

每次我尝试运行下面的代码时,都会显示两个错误。这两个错误都是第 43 行和第 56 行中未定义“标识符”数组。

什么可能导致此问题,我该如何解决?

#include <iostream>

using namespace std;

typedef double* arrayT;

double avg(arrayT data, int length);
double min(arrayT data, int length);
double max(arrayT data, int length);

int main()
{
    cout << "Please input the number of temperatures to be read." << endl;
    int num;
    cin >> num;
    arrayT temperatures = new double[num];

    for(int i = 0; i < num; i++)
    {
        cout << "Input temperature " << (i+1) << ":" << endl;
        cin >> temperatures[i];
    }

    cout << "The average temperature is " << avg(temperatures, num) << endl;
    cout << "The highest temperature is " << max(temperatures, num) << endl;
    cout << "The lowest temperature is " << min(temperatures, num) << endl;
}

double avg(arrayT data, int length)
{
    double sum = 0.0;

    for(int i = 0; i < length; i++)
        sum += data[i];
    return sum/length;
}

double min(arrayT data, int length)
{
    if(length == 0)
        return 0;

    double min = array[0];

    for(int i = 1; i < length; i++)
        if(array[i] < min)
            min = array[i];
    return min;
}

double max(arrayT data, int length)
{
    if(length == 0)
        return 0;

    double max = array[0];

    for(int i = 1; i < length; i++)
        if(array[i] > min)
            max = array[i];
    return max;
}

【问题讨论】:

  • 嗯,没有数组这样的东西......你从那里拿它。
  • 家庭作业,嗯?因此,如果 array 未定义,您必须问自己在哪里定义了 array

标签: c++ arrays loops


【解决方案1】:

在 min 和 max 函数中,参数命名为“数据”,但在函数体中,通过“数组”调用它们。

double min(arrayT data, int length)
{
..
// here
    double min = array[0];

..
}

double max(arrayT data, int length)
{
..
// here
    double max = array[0];
..
}

【讨论】:

    猜你喜欢
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2023-02-06
    • 2012-10-23
    • 2022-01-22
    • 1970-01-01
    • 2013-05-08
    相关资源
    最近更新 更多