У меня есть программа, в которой я создаю n объектов для структуры с использованием вектора. Я хочу передать этот вектор функции get_stud_data, где я ввожу имена ученика. Я хочу и вернуть все векторные объекты к основной функцииПередача векторного объекта функции и возвращающего
#include <iostream>
#include <string>
#include <vector>
#include "stdio.h"
using namespace std;
struct students
{
string name; // I am not sure
int roll_no;
};
vector<p>& get_stud_data(vector<students> & p, int n)
{
for(int i=0;i<n;i++)
{
cout<<"Enter Name of " <<i+1<<"th student\n";
cin>> p[i].name;
}
return p;
}
int main()
{
int n;
cout<<" Enter the number of students: ";
cin>> n;
vector<students> p(n); // creating n objects for struct students
// Want to retrieve the objects here.
p=get_stud_data()
return 0;
}
вы передаете вектор в качестве ссылки, так что вы получите обновленный вектор. Вам не нужно возвращать вектор. Просто используйте обновленный вектор, который передается как ссылка. –