【发布时间】:2020-03-28 15:55:21
【问题描述】:
假设我以这种方式用 C++ 制作图书库:
#include <iostream>
#include <string>
#include <vector>
class Book
{
public:
Book(string name, string author)
};
简单,只是一个构造函数,现在我创建一个Book的向量并将书籍推回:
int main()
{
vector<Book> books;
books.push_back(Book("Gatsby", "Fitzgerald"));
但是当我尝试打印出某个成员(姓名或作者)时:
cout << books[0].name << endl;
return 0;
}
我的男孩编译器很生气:
error: ‘__gnu_cxx::__alloc_traits >::value_type {aka class Book}’ has no member named ‘name’
cout << books[0].name << endl;
我是一个相对初学者,这种方法是否有意义?如果是这样,我做错了什么?
谢谢!
【问题讨论】:
-
你的类
Book没有任何成员变量。您的构造函数获取了两个参数,但您没有对它们做任何事情,它们只是丢失了。