1

我在输入“标题”和“作者”的行中遇到错误。我不太确定该怎么做才能解决这个问题。

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;
}
4

1 回答 1

4

您不能分配给数组,您必须复制到它:

std::strcpy(book[0].title, "a");

但由于您使用的是 C++,我建议您使用std::string而不是字符数组:

struct bookStruct
{
    std::string title;
    std::string author;
    int pages;
    int year;
};

然后你可以像现在尝试做的那样使用正常的分配。

于 2013-04-04T10:45:58.800 回答