struct Books{
std::string title;
std::string author;
std::string des;
int book_id = 0;
char identifier;
} ;
// book 0
book[0].title = "Programming Fundamentals"; // subscript out of range
book[0].author, "Robert Hanks";
book[0].des, "Programming Basics";
book[0].book_id = 101;
book[0].identifier = 'P';
// Struct Object
std::vector <Books> book;
当我尝试编译上面的代码时,它给我一个超出范围错误的下标。
我做错了吗?
感谢。
答案 0 :(得分:1)
你创建了一个空向量并试图通过book[0]
语句访问它的元素,这是不正确的。在使用book[0]
访问它之前,您需要在向量中至少有一个元素。
初始化矢量以在矢量中至少包含一个元素。我在下面给出一个例子来解决它。
// Struct Object
std::vector <Books> book(1);
// book 0
book[0].title = "Programming Fundamentals"; // subscript out of range
....
....