簡體   English   中英

從函數返回值到向量

[英]Return value to a vector from a function

我是個新手! 我正在編寫一個使用單獨文件的程序。 在主文件中,我制作了一個向量來存儲來自一個結構體的信息,該結構體放置在一個單獨的標題中。 我在一個單獨的文件中構造了一個函數來從結構中添加對象。 我的問題是我不知道如何將對象從我的函數返回到主文件中的向量。 請原諒我的拼寫不好!

這是我在主文件中但在 main() 之前的向量:
vector<Person> persons;

這是我的功能:

vector <Person> add(vector <Person> persons)
{
        cin.get();
        Person tmpPerson;
        cout << endl;
        cout << "Add user information!" << endl;
        cout << "Firstname: ";
        getline(cin, tmpPerson.firstName);

        cout << "Lastname: ";
        getline(cin, tmpPerson.lastName);

        cout << "Weight in kg (x.x): ";
        cin >> tmpPerson.weigth;        
       //cin.get(); 

    persons.push_back(tmpPerson);

沒有必要這樣做。 只需通過引用將向量傳遞給函數:

void add(vector<Person>& persons) {
  ....
  persons.push_back(tmpPerson);
}

persons向量將通過引用傳遞給函數,這意味着您實際上將在原始副本上工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM