Для класса не существует конструктора по умолчанию - PullRequest
3 голосов
/ 21 марта 2020

Я получаю следующие ошибки при запуске программы:

для класса "DynamicArray" не существует конструктора по умолчанию *

'DynamicArray': недоступен соответствующий конструктор по умолчанию.

Не могли бы вы мне помочь?

Repository.h

class Repository {

private:
    DynamicArray Repository_Dogs;

public:
    Repository(int capacity , int Size_Dogs_List);

};
Dog::Dog(char* name, char* breed, char* birth_date, char* vaccinations_counter, char* photograph)
{
    strcpy(this->Name, name);
    strcpy(this->Breed, breed);
    strcpy(this->Birth_Date, birth_date);
    strcpy(this->Vaccinations_Counter, vaccinations_counter);
    strcpy(this->Photograph, photograph);
}

Репозиторий. cpp


Repository::Repository(int capacity , int size_Dogs_List)
{
    DynamicArray newDynamicArray =  DynamicArray(capacity,size_Dogs_List);
    this->Repository_Dogs = newDynamicArray;


}

DynamicArray. cpp

DynamicArray::DynamicArray(int capacity, int size_Dogs_List)
{
    this->Capacity_List = capacity;
    this->Size_Dogs_List = size_Dogs_List;
    this->Dogs_List = (Dog*)malloc(this->Capacity_List * sizeof(Dog));
}

DynamicArray.h (конструктор)

public:

    DynamicArray(int capacity, int Size_Dogs_List);

1 Ответ

1 голос
/ 21 марта 2020

Определите конструктор как

Repository::Repository(int capacity , int size_Dogs_List) 
    : Repository_Dogs( capacity, size_Dogs_List )
{
}

И вместо функции C mallo c используйте оператор new.

...