我试图在头文件中使用结构类型,然后在我的主文件中初始化它,但继续得到错误:
“没有匹配函数来调用'gradingStudent :: gradingStudent()'”
HeaderFile.h
#ifndef HEADERFILE_H
#define HEADERFILE_H
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
struct gradingStudent
{
string studentName; //student's name
int amtGradesHW;
int amtGradesPro;
int amtGradesExam; //number of homework programs
float perTotHW;
float perTotPro;
float perTotExams; //percent the grade is worth
float HWGradeRecieved;
float ProGradeRecieved;
float ExamGradeRecieved; //points recieved
float TotalPercentage; //final grade recieved
char X; //letter grade
string wittyComment; //comment on grade
int const MAX;
};
int openFiles(ifstream&, ofstream&);
#endif
编程Assignment.cpp
#include <iostream>
#include <fstream>
#include <string>
#include "HeaderFile.h"
using namespace std;
int main(){
ifstream inFile; //input file variable
ofstream outFile; //output file stream
gradingStudent grades; //intialize my struct
//Test If files can be opened
if(!openFiles(inFile, outFile)){
cout << "...exiting " << endl;
system("pause");
}//end if
}//end main
/*
* Input: ifstream and ofstream
* Return Type: int
*
* OpenFiles will ask the user for the files to be opened and check if they are able to be opened
* usage: openFiles(inFile, OutFile)
**/
int openFiles(ifstream& inD, ofstream& outD){
string inFileName, outFileName;
cout << "Please enter the name of the file to be read: " << endl;
cin >> inFileName;
cout << " " << endl;
inD.open(inFileName.c_str()); //open this file
if (!inD)
{
cout << "ERROR. THE INPUT FILE: " << inFileName << " WAS UNABLE TO BE OPENED!" << endl ;
cout << " " << endl;
return 0;
}//end input if fail state
cout << "Please enter the name of the file to be written: " << endl;
cin >> outFileName;
cout << " " << endl;
outD.open(outFileName.c_str()); //open this file
if (!outD)
{
cout << "ERROR. THE OUTPUT FILE: " << outFileName << " WAS UNABLE TO BE OPENED!" << endl ;
cout << " " << endl;
return 0;
}//end output if fail state
}//end open file
任何帮助都将受到赞赏
答案 0 :(得分:0)
您有一个const
(和非static
)成员变量(MAX
),需要明确初始化。因此,您必须为您的类明确定义构造函数。