Вектор экземпляров класса - PullRequest
2 голосов
/ 01 апреля 2019

Я пытаюсь создать вектор объектов, взятых из определенного класса, который я создал, но ни один из конструкторов этого экземпляра класса недоступен

Я пробовал несколько разных конструкторов, взятых из векторов stl (http://www.cplusplus.com/reference/vector/vector/vector/), но ни один из них не работает

вот у меня класс


class Digit{
public:
 //ctor 
  Digit():
    m_v(0),
    m_m(8)
    {};

  Digit(int m, int v):
    m_v(v),
    m_m(m)
    {};

  Digit(int v):
    m_v(v),
    m_m(8)
    {};

  //copyctor
  Digit(Digit& digit):
    m_v(digit.m_v),
    m_m(digit.m_m)
    {};

  //get-set
  int GetDigit(){return (m_v % m_m);};
  void SetV(int v){m_v=v; return;};
private:
  int m_v, m_m;
};
////// ==================Digit=============================/////

и вот попытка создать вектор

Digit d(8,13);

  std::vector<Digit> vec(4,d);

Скажем, я хочу увидеть результат GetDigit (), тогда ожидаемый результат должен быть последовательностью числа 5

5 5 5 5

но для всех конструкторов, включенных в мой класс, я получаю

Конструктор-кандидат недопустим: 1-й аргумент ('const Digit') потеряет квалификатор const

...