ld返回1错误退出状态C ++

回声

我不断收到“对“ x”的未定义引用”,其中x是函数原型。我已经规划了功能,但是主要功能仍然需要工作。我只想在按下ld之前修复ld返回错误1,但我似乎无法指出问题所在。

 #include <iostream>

 #include <iomanip>

 #include <cmath>

using namespace std;

//Symbolic Constants

const int MAX=11;

//Function Prototypes

int buildQuizArray(int);
void printArray(string,int,int);
double calcQuizAverage(int,int);
void sortArray(int,int);

int main ()

{

    int quizScores[MAX];
    int compQuiz;
    int tempArray[MAX];
    int average;

    compQuiz = buildQuizArray(quizScores[MAX]);

    quizScores[MAX]=tempArray[MAX];

    average = calcQuizAverage(quizScores[MAX], compQuiz);

    cout<<endl<<"Your quiz average is "<<average<<endl;

    printArray ("Quiz Scores", tempArray[MAX], compQuiz);

    sortArray(tempArray[MAX], compQuiz);

}



int buildQuizArray(int quizArray[])

{ 

    int numQuiz, input, a;
    a=0;
    numQuiz=1;

    cout << "Enter your score for quiz "<<numQuiz<<" (-1 to quit): ";
    cin >> input;

    while (input != -1)
    { 
        quizArray[a] = input;
        a++;
        numQuiz++;

        cout<< "Enter your score for quiz "<<numQuiz<<" (-1 to quit): ";
        cin >> input;

    } 
    return a+1;
} 



void printArray(string reportTitle, int quizArray[], int numberOfQuizzes)

{ 

    int a;

    cout<< reportTitle <<endl<<"-----------"<<endl;

    for (a=0; a<numberOfQuizzes; a++)
    {
        cout<< "Quiz " << a <<": " << setw(2) <<quizArray[a] <<"/10"<<endl;
    }
} 



double calcQuizAverage(int quizArray[], int numberOfQuizzes) 

{ 

    int sum, lowSum, avg, a;
    a = 0;
    sum = 0;

    lowSum = quizArray[0] + quizArray[1];

    for (a=0; a< numberOfQuizzes; a++)
    {
        sum += quizArray[a];
    }

    if (numberOfQuizzes <= 2)
    {
        avg = sum / (10 * numberOfQuizzes) * 100;
    }

    else
    {
        (sum - lowSum) / (10 * (numberOfQuizzes - 2)) * 100;
    }

    return avg;
} 



void sortArray(int quizArray[], int numberOfQuizzes) 

{ 

    int min, a, b, temp;

    for (a=0; a<numberOfQuizzes; a++) 
    {
        min = a;
    }

    for(b=a+1; b<numberOfQuizzes; a++) 
    { 

        if (quizArray[a] < quizArray[min]) 
        {
            min = b;
        }
    } 

    temp = quizArray[a]; 
    quizArray[a]=quizArray[min]; 
    quizArray[min]=temp; 
}
杰森c

您声明:

int buildQuizArray(int);

但您定义:

int buildQuizArray(int quizArray[]) ...

int[]与相同int

另外:int调用它们时,您正在传递一个给函数。请注意,例如quizScores[MAX]是的MAXth元素quizScores和是int,实际上超出了该数组的末尾,并且实际上不是您想要执行的操作。

如果我不得不猜测您是如何到达这里的,那么我猜您几乎一切都正确,但是您在不知不觉中错误地声明了原型(int而不是int[]),因此您便[MAX]继续使用要传递给函数的数组以获取进行编译,然后遇到不可避免的链接器问题,导致您出现在此处。如果那是您所做的,那不是正确的方法。

您真正想做的是:

  1. 对于采用数组的函数,请正确声明它们:

    int buildQuizArray (int[]);
    
  2. 调用时将数组指针本身传递给函数:

    buildQuizArray(quizScores);
    
  3. 保留您的声明不变,它们看起来不错(在语法上)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:ld在C处返回了1个退出状态

来自分类Dev

CloudPebble错误,“ ld返回1退出状态”

来自分类Dev

collect2:错误:ld返回1退出状态,gcc

来自分类Dev

获取“ collect2:错误:ld返回1退出状态”

来自分类Dev

collect2:错误:ld返回1退出状态

来自分类Dev

collect2:错误:ld返回1退出状态,gcc

来自分类Dev

错误:ld 返回 1 个退出状态 - 代码块

来自分类Dev

找不到问题 - [错误] ld 返回 1 个退出状态

来自分类Dev

找不到问题 - [错误] ld 返回 1 个退出状态

来自分类Dev

collect2:错误:ld返回1退出状态

来自分类Dev

C编译:collect2:错误:ld返回1退出状态

来自分类Dev

collect2:错误:ld在c ++中返回了1个退出状态

来自分类Dev

多定义错误(collect2:错误:ld返回1退出状态)

来自分类Dev

CMake链接错误(collect2:ld返回了1个退出状态)

来自分类Dev

pjsip ld中gcc的编译错误返回了1个退出状态

来自分类Dev

编译cpp代码时出错:collect2:错误:ld返回1退出状态

来自分类Dev

collect2:错误:ld返回1退出状态未定义的引用

来自分类Dev

CMake链接错误(collect2:ld返回了1个退出状态)

来自分类Dev

安装 libmtp 时:“collect2:错误:ld 返回 1 个退出状态”。如何调试/修复?

来自分类Dev

C编译错误:Id返回1退出状态

来自分类Dev

与dylib ld的静态链接:找不到-lcrt0.o的库collect2:错误:ld返回1退出状态

来自分类Dev

错误collect2:ld返回退出状态

来自分类Dev

从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

来自分类Dev

为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

来自分类Dev

为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

来自分类Dev

从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

来自分类Dev

Opencv,DSO从命令行collect2中丢失:错误:ld返回1退出状态

来自分类Dev

最终链接失败:输出collect2上的不可代表部分:错误:ld返回1退出状态

来自分类Dev

mingw32 / bin / ld.exe ...对[class]的未定义引用... collect2.exe:错误:ld返回1退出状态

Related 相关文章

  1. 1

    错误:ld在C处返回了1个退出状态

  2. 2

    CloudPebble错误,“ ld返回1退出状态”

  3. 3

    collect2:错误:ld返回1退出状态,gcc

  4. 4

    获取“ collect2:错误:ld返回1退出状态”

  5. 5

    collect2:错误:ld返回1退出状态

  6. 6

    collect2:错误:ld返回1退出状态,gcc

  7. 7

    错误:ld 返回 1 个退出状态 - 代码块

  8. 8

    找不到问题 - [错误] ld 返回 1 个退出状态

  9. 9

    找不到问题 - [错误] ld 返回 1 个退出状态

  10. 10

    collect2:错误:ld返回1退出状态

  11. 11

    C编译:collect2:错误:ld返回1退出状态

  12. 12

    collect2:错误:ld在c ++中返回了1个退出状态

  13. 13

    多定义错误(collect2:错误:ld返回1退出状态)

  14. 14

    CMake链接错误(collect2:ld返回了1个退出状态)

  15. 15

    pjsip ld中gcc的编译错误返回了1个退出状态

  16. 16

    编译cpp代码时出错:collect2:错误:ld返回1退出状态

  17. 17

    collect2:错误:ld返回1退出状态未定义的引用

  18. 18

    CMake链接错误(collect2:ld返回了1个退出状态)

  19. 19

    安装 libmtp 时:“collect2:错误:ld 返回 1 个退出状态”。如何调试/修复?

  20. 20

    C编译错误:Id返回1退出状态

  21. 21

    与dylib ld的静态链接:找不到-lcrt0.o的库collect2:错误:ld返回1退出状态

  22. 22

    错误collect2:ld返回退出状态

  23. 23

    从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

  24. 24

    为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

  25. 25

    为Android编译librtmp错误:找不到-ldl collect2:错误:ld返回1退出状态

  26. 26

    从Cygwin编译vim(Versin> = 7.4.399)时显示错误“ collect2:错误:ld返回1退出状态”

  27. 27

    Opencv,DSO从命令行collect2中丢失:错误:ld返回1退出状态

  28. 28

    最终链接失败:输出collect2上的不可代表部分:错误:ld返回1退出状态

  29. 29

    mingw32 / bin / ld.exe ...对[class]的未定义引用... collect2.exe:错误:ld返回1退出状态

热门标签

归档