如何将数组从一个函数传递给另一个函数

时间:2016-11-26 17:10:24

标签: c++

对于我的课程,我正在做一个"测试"对于CSC学生。我已经决定在向用户显示测试的函数中,将所有答案存储在数组中。一旦测试完成(在单独的功能中),如果输入了正确的引脚,用户可以选择对测试进行评级。输入正确的引脚后,该功能将调用"等级"功能。我的问题是,一旦在第一个函数中完成测试,我如何使用数组的副本调用第二个函数,这样我可以使用相同的副本调用成绩函数,以便可以对测试进行评分? 这是我到目前为止所尝试的。

int main(){
    int answers[15]; /* idea was answers would be a copy of givenAnswer
 in input function. then would be called in AnswerKeyPrompt*/

    input(givenAnswers);
    answerKeyPrompt(answers);}


    void input(int* givenAnswers){
    // this is where the test display test and all user input is stored in array
    givenAnswers

    void answerKeyPrompt(int){
    // this function will ask user for pin. if correct pin is entered it will call grade function with copy of givenAnswers}

    void grade(int){
    // this function takes givenAnswers and compares it to answerKey array and calculates grade}

当我这样做时,我得到一个从int到int *的无效转换。谢谢你 帮助

1 个答案:

答案 0 :(得分:0)

数组通常作为指针传递。你需要声明你的函数:

void answerKeyPrompt(int *a)

(注意指示指针的参数名称前的*)