【发布时间】:2020-11-22 10:53:58
【问题描述】:
我复制/粘贴了这个控制台应用程序,它是一个银行记录保存系统,我收到一个错误,因为 ">" 运算符没有操作数; if (infile.read(reinterpret_cast<char*>(this), sizeof(*this)) > 0)
它与类型有关吗?我在某处模糊地读到int 需要超载或其他东西。无论如何,idk。
下面是部分代码:
void account_query::read_rec()
{
ifstream infile;
infile.open("record.bank", ios::binary);
if (!infile)
{
cout << "Error in Opening! File Not Found!!" << endl;
return;
}
cout << "\n****Data from file****" << endl;
while (!infile.eof())
{
if (infile.read(reinterpret_cast<char*>(this), sizeof(*this)) > 0)
{
show_data();
}
}
infile.close();
【问题讨论】:
-
while (!infile.eof())请在这里阅读:stackoverflow.com/questions/5605125/… -
关于您的错误,请查看文档中的
read()返回类型:en.cppreference.com/w/cpp/io/basic_istream/read
标签: c++ file-io operator-keyword operands