Допустим, у меня есть
#include <string>
#include <vector>
using namespace std;
struct Student
{
const string name;
int grade;
Student(const string &name) : name(name) { }
};
Как мне тогда сохранить вектор учеников?
int main()
{
vector<Student> v;
// error C2582: 'operator =' function is unavailable in 'Student'
v.push_back(Student("john"));
}
Есть ли вообще способ сделать это, или я должен выделить всех учеников в куче и сохранить вместо этого указатель на каждый из них?