I have created the following code and I need some guidance on how to correct my error. The code is as follows:
The error I am getting is around this area:Code:#include <string> #include <iostream> #include <fstream> #include <cstdlib> using namespace std; const int MAX_BOOKS = 2000; const int MAX_USERS = 500; struct User { string userID; string name; string houseNo; string address; string noOfLoans; }; struct Book { string bookID; string title; string authorSurname; string authorFirstname; string category; string location; string onLoan; }; enum bookCategory { Adventure = 'A', Detective = 'D', SciFi = 'S', Romance = 'R' }; int findBookAuthor(Book[], string, int); int main() { ifstream bookDataFile; ifstream userDataFile; Book books[MAX_BOOKS]; User users[MAX_USERS]; int noOfBooks = 0; int noOfUsers = 0; bookDataFile.open("bookdata.txt"); userDataFile.open("userdata.txt"); while(!bookDataFile.eof() && noOfBooks < MAX_BOOKS) { getline(bookDataFile, books[noOfBooks].authorSurname); getline(bookDataFile, books[noOfBooks].authorFirstname); getline(bookDataFile, books[noOfBooks].title); getline(bookDataFile, books[noOfBooks].category); getline(bookDataFile, books[noOfBooks].bookID); if (! bookDataFile.eof()) noOfBooks++; } bookDataFile.close(); string author; int bookID; int option; while(true) { cout << "1. Loan Book" << endl; cout << "2. Find Book By Author" << endl; cin >> option; switch(option) { case 1: cout << "Under Construction" << endl; break; case 2: cout << "Enter Author Name: "; cin >> author; bookID = findBookAuthor(books, author, noOfBooks); break; } } return 0; } int findBookAuthor(Book books[], string author, int noOfBooks) { for(int bookNo = 0; bookNo < noOfBooks; bookNo++) { if(books[bookNo].authorSurname == author) { cout << "--------------------------------------------------" << endl; cout << "BookID: " << books[bookNo].bookID << endl; cout << "Title: " << books[bookNo].title << endl; cout << "Author: " << books[bookNo].authorSurname << "," << books[bookNo].authorFirstname<< endl; cout << "Category: " << books[bookNo].category << endl; cout << "Location: " << books[bookNo].location << endl; cout << "onLoan: " << books[bookNo].onLoan << endl; cout << "--------------------------------------------------" << endl << endl; } } return -1; } int findUser(User users[], string userName, int noOfUsers) { for(int userID = 0; userID < noOfUsers; userID++) { if(users[userName].name == users) { cout << "--------------------------------------------------" << endl; cout << "UserID: " << users[userID].userID << endl; cout << "Name: " << users[userID].name << endl; cout << "House No: " << users[userID].houseNo << endl; cout << "Address: " << users[userID].address << endl; cout << "No of Loans: " << users[userID].noOfLoans << endl; cout << "--------------------------------------------------" << endl << endl; } } return -1; }
And the error message I am receiving is:Code:for(int userID = 0; userID < noOfUsers; userID++) { if(users[userName].name == users) { cout << "--------------------------------------------------" << endl; cout << "UserID: " << users[userID].userID << endl; cout << "Name: " << users[userID].name << endl; cout << "House No: " << users[userID].houseNo << endl; cout << "Address: " << users[userID].address << endl; cout << "No of Loans: " << users[userID].noOfLoans << endl; cout << "--------------------------------------------------" << endl << endl; } } return -1;
Can someone please guide me on how to fix this problem, thanks in advance.Code:In function `int findUser(User *, basic_string<char,string_char_traits<char>,__default_alloc_template<false,0> >, int)': library.cc:114: no match for `User *&[string &]'


