Как решить ошибку "ни один экземпляр (что-то :: что-то) не соответствует списку аргументов"? - PullRequest
0 голосов
/ 10 ноября 2019

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

Я создал массив данных и позволил пользователю взаимодействовать с ним.

Mammal* mammal[3] = { new Dog("Puppy",Blue,"Cindy"), new Cat("Kitty",Black,"Wai"), new Lion("Simba",Brown,"Ryo")};

Давайте просто воспользуемся одним членом.

new Dog("Puppy",Blue,"Cindy")

У меня есть заголовокСекция кода написана следующим образом:

using namespace std;
enum COLOR { Green, Blue, White, Black, Brown };
class Animal {
private:
    string _name;
    COLOR _color;
public:
    Animal(string n, COLOR c);

    virtual void speak() = 0;
    virtual void move() = 0;
    virtual void eat() = 0;
};

class Mammal :public Animal {
public:
    Mammal(string n, COLOR c);
    void speak();
    void move();
    void eat();

};

class Dog : public Mammal {
private:
    string _owner;
public:
    Dog(string n, COLOR c, string o);
    ~Dog();

    void speak() override;
    void move() override;
};

В файле cpp я создал несколько кодов для speak () и move () для переопределения суперкласса.

Dog::Dog(string n, COLOR c, string o) : Mammal(n, c), _owner(o) {}
Dog::~Dog()
{
}
void Dog::speak() {
    cout << "Woof" << endl;
}

void Dog::move() {
    cout << "Dog is moving" << endl;
}

Я ожидалошибок нет, но я получил эту ошибку.

E0289 ни один экземпляр конструктора "Dog :: Dog" не соответствует типам аргументов списка аргументов: (const char [6], color, const char [6])

Все это было написано с использованием VS2019. Я что-то пропустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...