Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Обьект не запихывается в контейнер


Автор: NiCketT 5.5.2008, 17:16
Создал класс student c конструктором, конструктором копии, и деструктором но при попытке запухнуть его в вектор возникает ошибка error C2558: class 'myobjects::student' : no copy constructor available or copy constructor is declared 'explicit'.
В чем дело, я же конструктор копии создал?

Код

#ifndef Students
 #define Students
 #include <string.h>
 //using namespace std;

 namespace myobjects {
  //описание класса
  class student
  {
    public:
     char Name[80]; //Фамилия и инициалы
     int Group; //номер группы
     int* Ses; //успеваемость
     int N, CurrentMark; //количество предметов, текущий предмет

     student(int n); //конструктор. Виделяет память под n отметок
     student(const char* name, int group, int n); //еще конструктор
     void AddMark(int mark); //добвить оценку
     int GetRoundMark(); //вернуть средний балл
     ~student(); //деструктор
     void Prn(); //печатать результаты
     student(student &st); //конструктор копии
  };
 };
#endif;

Автор: Daevaorn 5.5.2008, 17:40
Цитата(NiCketT @  5.5.2008,  18:16 Найти цитируемый пост)
student(student &st);

Это не совсем конструктор копирования. const пропустили

Автор: NiCketT 5.5.2008, 19:14
Daevaorn
спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)