Не могу инициализировать поля структуры через список инициализаций
Надо инициализировать поля класса через список инициализации но возникла проблема когда пытался задать значения переменной типа структуры. Пробовал разные способы но ошибок либо больше либо так же. Как можно это исправить?
src/Student.cpp:16:144: error: expected '(' or '{'
Student::Student() : budget_edu(0), name_student("не указано"), name_kurator("не указано"), enroll_year(0), faculti_and_group.name_faculti("не указано"), faculti_and_group.group_n("не указано") name_building_cafedra(NO_INDICA){
^
1 error generated.
make: *** [Makefile:15: main.bin] Error 1
list.h
#ifndef Student_H
#define Student_H
enum cafedra { BK, GAK, Y1, Y2 ,NO_INDICA};
struct group{
string name_faculti;
string group_n;
};
class Student
{
unsigned int budget_edu;
string name_student;
string name_kurator;
unsigned int enroll_year;
struct group faculti_and_group;
enum cafedra name_building_cafedra;
public:
Student();
Student(string budget_edu, string name_student,string name_kurator,unsigned int enroll_year,string name_faculti,string group_n,string name_building_cafedra);
Student(const Student &student);
~Student();
void write_on_screen() const;
string get_budget_edu() const;
void set_budget_edu(string &state_budget_edu);
string get_name_student() const;
void set_name_student(string &state_name_student);
string get_name_kurator() const;
void set_name_kurator(string &state_name_kurator);
unsigned int get_enroll_year() const;
void set_enroll_year(unsigned int &state_enroll_year);
string get_name_faculti() const;
void set_name_faculti(string &state_name_faculti);
string get_group_n() const;
void set_group_n(string &state_group_n);
string get_name_building_cafedra() const;
void set_name_building_cafedra(string &state_building_cafedra);
void read_from_screen(string &str, unsigned int n_symbol);
void read_from_screen(unsigned int &number);
Student *write_info_student();
};
#endif
list.cpp
#include <iostream>
#include <string>
#include <iomanip>
#include <limits>
using std::string;
using std::cin;
using std::cout;
using std::endl;
using std::setw;
using std::numeric_limits;
using std::streamsize;
#include "Student.h"
Student::Student() : budget_edu(0), name_student("не указано"), name_kurator("не указано"), enroll_year(0), faculti_and_group.name_faculti("не указано"), faculti_and_group.group_n("не указано") name_building_cafedra(NO_INDICA){
cout<<endl<<"Был вызван конструктор по умолчанию"<<endl;
}
Источник: Stack Overflow на русском