-7

我有一个 CPP (c++) 程序,当我编译它时出现错误...

错误: 包含 while 的函数未内联扩展。while 语句中可能有什么问题?

这些是我正在使用的头文件。

#include<iostream.h>
#include<stdio.h>
#include<string.h>
#include<iomanip.h>
#include<conio.h>
#include<process.h>
#include<fstream.h>




 void query(long unsigned int en)
{
  int found=0;
  ifstream infile("student.dat");
  /* read the record */

  while(infile.read((char *)this,sizeof(student)))
{
  if(e_no==en)
  {
  found=1;
  query_list();
  gotoxy(26,4);
  cout<<"Query Output";
  gotoxy(35,7);
  cout<<e_no;
  gotoxy(35,8);
  cout<<name;
  fflush(stdin);
  getch();
}
  }//end of while
if(!found){clrscr();
  cout<<"Enrolment No. not found";
  getch();}
  infile.close();
}//end of query
4

1 回答 1

2

您的程序无法运行的一个原因是您可能会破坏或破坏this指向的内容,方法是将其转换为 achar*然后将数据读入其中。这几乎肯定是错误的,而不是您想要做的。

另外,请使用 C++ 样式包含。<iostream.h>在渡渡鸟之前走上了渡渡鸟的路。并且不要处理或混合 C 和 C++ 风格的 IO fflushstdin

于 2013-05-09T10:29:28.313 回答