C++怎么把类数组中的数据写入容器?

C++的一个类包括多种类型的数据


```c++
class Reference
{        
public:
    string DOI, author, topic, pub, type;//DOI,作者,标题,刊物,类型
    int year;//年份
};

另一个类录入信息,请问怎么把信息写道Vector容器中?
```c++
class Admin:public User
{
public:
    std::vector<Reference[]>str;
    void input()
    {
        cout << "请输入要录入的文献数\n";
        int n;
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            cout << "请输入第" << i << "篇文献的数据";
            cin >> art[i].DOI >> art[i].author >> art[i].topic >> art[i].pub >> art[i].year >> art[i].type;
            str.push_back(art);
        }
};

注:这时候我的push_back函数显示有错误


class Admin:public User
{
public:
    std::vector<Reference>str;
    void input()
    {        
        cout << "请输入要录入的文献数\n";
        int n;
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            Reference tmp;
            cout << "请输入第" << i << "篇文献的数据";
            cin >> tmp.DOI >> tmp.author >> tmp.topic >> tmp.pub >> tmp.year >> tmp.type;
            str.push_back(tmp);
        }
    }
};