我试图做一个简单的程序来学习更多关于参考通道,指针以及如何在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;
}
我不能很好地使用带有结构的指针和引用段落。我只能在不使用结构时使用它们。
答案 0 :(得分:1)
您忘记在main
范围内声明此变量:
int main()
{
struct test t;
// LIKE THIS
int totalStudent;
addStudent(&t,&totalStudent);
showStudent(&t,totalStudent);
return 0;
}