错误:''未在此范围内声明

时间:2017-03-25 17:35:23

标签: c++ reference

我试图做一个简单的程序来学习更多关于参考通道,指针以及如何在C ++中对结构使用这个2,我得到了一些问题。

我在下面的代码中收到错误“错误:'totalStudent'未在此范围内声明”,我的问题是,我应该如何声明“totalStudent”。

#include <iostream>
using namespace std;

struct test{
    char name[30];
    int age;
};

void addStudent(struct test *ptrTest,int *totalStudent){
    for(int i=0;i<2;i++){
        cout<<"\nInsert the name: ";
        cin.sync();
        cin.getline(ptrTest->name,sizeof(ptrTest->name));
        cout<<"\nInsert the age: ";
        cin.sync();
        cin>>ptrTest->age;
        *totalStudent+=1;
    }

}

void showStudent(struct test *ptrTest,int totalStudent){
    for(int i=0;i<totalStudent;i++){
    cout<<"\nName: "<<ptrTest->name;
    cout<<"\nAge: "<<ptrTest->age;
    }
};

int main()
{
    struct test t;
    addStudent(&t,&totalStudent);
    showStudent(&t,totalStudent);
    return 0;
}

我不能很好地使用带有结构的指针和引用段落。我只能在不使用结构时使用它们。

1 个答案:

答案 0 :(得分:1)

您忘记在main范围内声明此变量:

int main()
{
    struct test t;
    // LIKE THIS
    int totalStudent;

    addStudent(&t,&totalStudent);
    showStudent(&t,totalStudent);
    return 0;
}