Reputation: 47
Having troubles reading a file into a struct without eof. I have all of the needed includes in my .h file and I am getting an error that says "IntelliSense: no operator ">>" matches these operand"
struct Courses
{
string mCourseID;
double mCourseNumber;
double mMaxCapacity;
double mCurrentEnroled;
};
Courses addCourse(istream &File);
Courses addCourse(istream &File)
{
Courses sData;
File >> sData.mCourseID;
File >> sData.mCourseNumber;
File >> sData.mCurrentEnroled;
File >> sData.mMaxCapacity;
return sData;
}
void readCourses(Courses sCourses[], ifstream &File, int &numCourses)
{
while (addCourse(File) >> sCourses[numCourses])
{
numCourses++;
}
}
Upvotes: 2
Views: 138
Reputation: 21576
I think, you want to change the signature of addCourse
to this...
istream& addCourse(istream &File, Courses& sData)
{
File >> sData.mCourseID;
File >> sData.mCourseNumber;
File >> sData.mCurrentEnroled;
File >> sData.mMaxCapacity;
return File;
}
Then, modify your other function with these modifications...
void readCourses(Courses sCourses[], ifstream &File, int &numCourses)
{
while (addCourse(File, sCourses[numCourses]))
{
numCourses++;
}
//......
But again, is your array sCourses
big enough to hold as many Courses
you will input? Or will you put a stopping condition? ...rethink your program logic.
Upvotes: 3