我在main中遇到了两个让我难过的错误:
有人可以伸出援助之手吗?谢谢!
标题
#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cctype>
#include <cstdlib>
using namespace std;
void extern input(ifstream&, ofstream&, int&, int&);
#endif // HEADER_H_INCLUDED
主要
#include "header.h"
using namespace std;
int main()
{
int grade;
int list[8];
ifstream inData;
ofstream outData;
inData.open("Ch9_Ex4Data.txt");
if (!inData)
{
cout << "Cannot open the input file."
<< endl;
return 1;
}
outData.open("DataOut.txt");
inData.get(grade); // << ERROR 1 HERE
while (inData)
{
input(inData, outData, grade, list); // << ERROR 2 HERE
}
output (outData, list)
return 0;
}
答案 0 :(得分:1)
错误1是因为inData.get()不接受int,你应该做
grade = inData.get();
,第二个是因为list实际上是int *而不是int,所以input()中的第四个参数应该是int *而不是int&amp;
答案 1 :(得分:0)
int []不是int&amp ;.一个int&amp;是对整数的引用。 int list [8]是一个包含8个整数的数组。它们不是一回事。
答案 2 :(得分:0)
对于第一个错误,您传递的是int而不是char或char *。请参阅下面的获取原型:
istream::get
public member function
int get();
istream& get ( char& c );
istream& get ( char* s, streamsize n );
istream& get ( char* s, streamsize n, char delim );
istream& get ( streambuf& sb);
istream& get ( streambuf& sb, char delim );
对于第二个错误,你错误地传递了一个int数组,其中函数期望int&amp;。