纠正C++学校图书馆管理程序中的两个错误
Rectifying two errors in School Library Management program in C++
我正在寻找一个 图书馆管理系统 程序来制作一个学校项目。我在网上找到了一个不错的。代码可以在这里看到:https://codereview.stackexchange.com/q/68713/153350 on code review stack exchange。我打算在上面做我的项目。
因此,我 运行 上面的代码显示了 3 个错误。一个是关于变量的多重声明,我能够纠正。
但我不明白如何处理其他两个错误。
它们都出现在函数体的以下代码行中,void write_student():
f.write((char*)&st, sizeof(student));
第一个错误说:
Undefined symbol 'st'
另一个说:
Could not find a match for 'ostream::write(undefined, unsigned int)'
有人可以就问题所在以及我如何解决这些错误提供帮助吗?
谢谢。
您有这些声明...
//***************************************************************
// Global declaration for stream object, object
//****************************************************************
fstream f, f1;
book b;
student s;
...此函数涉及:
void write_student(){
char ch;
f.open("student.dat", ios::out|ios::app);
do{
s.create_student();
f.write((char*)&st, sizeof(student));
cout<<"\n\nDo you want to add more students...(y/n?)";
cin>>ch;
}while(ch=='y'||ch=='Y');
f.close();
}
您将 &st
而不是 &s
传递给 f.write
。
将主题中的行替换为
f.write((char*)&s, sizeof(student));
为了让它发挥作用。
我正在寻找一个 图书馆管理系统 程序来制作一个学校项目。我在网上找到了一个不错的。代码可以在这里看到:https://codereview.stackexchange.com/q/68713/153350 on code review stack exchange。我打算在上面做我的项目。
因此,我 运行 上面的代码显示了 3 个错误。一个是关于变量的多重声明,我能够纠正。
但我不明白如何处理其他两个错误。 它们都出现在函数体的以下代码行中,void write_student():
f.write((char*)&st, sizeof(student));
第一个错误说:
Undefined symbol 'st'
另一个说:
Could not find a match for 'ostream::write(undefined, unsigned int)'
有人可以就问题所在以及我如何解决这些错误提供帮助吗? 谢谢。
您有这些声明...
//***************************************************************
// Global declaration for stream object, object
//****************************************************************
fstream f, f1;
book b;
student s;
...此函数涉及:
void write_student(){
char ch;
f.open("student.dat", ios::out|ios::app);
do{
s.create_student();
f.write((char*)&st, sizeof(student));
cout<<"\n\nDo you want to add more students...(y/n?)";
cin>>ch;
}while(ch=='y'||ch=='Y');
f.close();
}
您将 &st
而不是 &s
传递给 f.write
。
将主题中的行替换为
f.write((char*)&s, sizeof(student));
为了让它发挥作用。