Я получаю сообщение об ошибке в строках, где вводим «заголовок» и «автор». Я не совсем уверен, что делать, чтобы это исправить.
struct bookStruct
{
char title[40];
char author[40];
int pages;
int year;
};
enum menu { display=1, add, end} ;
void displayOptions();
void displayBooks();int main(){
vector<bookStruct> book(11);
string option;
book[0].title = "a";
book[0].author = "b";
book[0].pages = 23;
book[0].year = 21;
displayOptions();
cin >> option;
displayBooks(book);
return 0;
}
Вы не можете присвоить массиву, вы должны скопировать в него:
std::strcpy(book[0].title, "a");
Но так как вы используете C ++, я предлагаю вам использовать std::string
вместо массивов символов:
struct bookStruct
{
std::string title;
std::string author;
int pages;
int year;
};
Тогда вы можете использовать обычное назначение, как вы пытаетесь сделать сейчас.
Других решений пока нет …