Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.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++_Arrays_Reference - Fatal编程技术网

C++ 如何避免;对…的未定义引用'&引用;当使用数组和函数时?

C++ 如何避免;对…的未定义引用'&引用;当使用数组和函数时?,c++,arrays,reference,C++,Arrays,Reference,我正在通过制作一个执行以下操作的程序来学习如何使用数组作为函数参数: 从用户处获取四个测试分数并将其存储在数组中 计算数组中分数的总和 从总和中减去最低的测试分数,并给出一个调整后的总和 根据调整后的总和计算平均值,并打印出平均值 我在一本名为《从c++开始》的书中找到了这个程序 我似乎遵循了它提供的源代码来解决这个问题,但是出现了错误,我不知道问题出在哪里 这是我不完整的源代码:(我正在使用代码块) 错误出现在第20行: 对“GetTotal(双常量*,int)”的未定义引用 #包括 #包括

我正在通过制作一个执行以下操作的程序来学习如何使用数组作为函数参数:

  • 从用户处获取四个测试分数并将其存储在数组中
  • 计算数组中分数的总和
  • 从总和中减去最低的测试分数,并给出一个调整后的总和
  • 根据调整后的总和计算平均值,并打印出平均值
  • 我在一本名为《从c++开始》的书中找到了这个程序 我似乎遵循了它提供的源代码来解决这个问题,但是出现了错误,我不知道问题出在哪里

    这是我不完整的源代码:(我正在使用代码块)

    错误出现在第20行:

    对“GetTotal(双常量*,int)”的未定义引用

    #包括
    #包括
    使用名称空间std;
    无效得分(双倍[],整数);
    双GetTotal(constdouble[],int);
    double-getlower(constdouble[],int);
    int main()
    {
    常数int SIZE=4;
    双倍分数[大小],//数组保存分数
    total,//用于存储测试总分
    lowestScore,//用于存储最低测试分数
    average;//用于存储平均值
    GetScores(分数,大小);//从用户获取测试分数
    GetTotal(分数,大小);//汇总测试分数
    GetLowest(分数,大小);//获得最低分数
    返回0;
    }
    无效GetScores(双倍分数[],整数大小)
    {
    对于(int index=0;index
    
    这些函数没有主体,它们没有在任何地方定义。您需要这两个函数的源代码。

    可能会粘贴您声明但未定义的
    getTotal
    body和
    getlower
    body。您希望发生什么?数组更像C风格(它们仍然有其用途),改为使用向量。但我应该学会如何使用它们,对吗?额外的经验很好。也许可以粘贴您声明但未定义的
    getTotal
    主体和
    getlower
    主体。您希望发生什么?数组更像C样式(它们仍然有自己的用途),改用向量。但我应该学会如何使用它们,对吗?额外的经验很好,所以我不能运行程序,除非我真的定义了函数,即使我为函数放置了原型?@Marwan:你不能运行(或构建)使用这些函数的程序,除非这些函数已定义。如果该函数不存在,对
    GetTotal
    的调用应该怎么做?是的,链接器希望这些函数的实际代码能够创建您的程序可能这两个函数是读者的练习,以GetScores为例?那么除非我真正定义了函数,否则我不能运行程序,即使我为函数放置了原型?@Marwan:你不能运行(或构建)使用这些函数的程序,除非这些函数已定义。如果该函数不存在,对
    GetTotal
    的调用应该怎么做?是的,链接器希望这些函数的实际代码能够创建您的程序可能这两个函数是读者的练习,以GetScores为例?
    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    void GetScores(double[], int);
    double GetTotal(const double[], int);
    double GetLowest(const double[], int);
    
    int main()
    {
        const int SIZE = 4;
        double scOres[SIZE],//array holds scores
            total, // to store total test scores
            lowestScore, // to store lowest test score
            average;// to store average value
    
        GetScores(scOres , SIZE); //gets test scores from user
        GetTotal(scOres , SIZE); //sums up test scores
        GetLowest(scOres , SIZE); //gets lowest score
    
        return 0;
    }
    
    void GetScores(double scores[],int size)
    {
        for (int index = 0; index < size; index++)
        {
            cout << "Enter test score " << index + 1 << ":" ;
            cin >> scores[index];
        }
    }
    
    double GetTotal(const double[], int);
    double GetLowest(const double[], int);