Reputation: 71
I get these errors when I run the program:
no default constructor exists for class "DynamicArray"
'DynamicArray':no appropiate default constructor available.
Could you help me out?
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);
}
Repository.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(constructor)
public:
DynamicArray(int capacity, int Size_Dogs_List);
Upvotes: 3
Views: 160
Reputation: 311126
Define the constructor like
Repository::Repository(int capacity , int size_Dogs_List)
: Repository_Dogs( capacity, size_Dogs_List )
{
}
And instead of the C function malloc use the operator new.
Upvotes: 1