Пусть у меня есть:как я выделяю указатель класса с множественным наследованием
class Human {
string choice;
public:
Human(string);
};
class Computer {
string compChoice;
public:
Computer(string);
};
class Refree : public Human, public Computer {
public:
string FindWinner();
};
int main() {
Human* H1 = new Human("name");
Computer* C1 = new Computer("AI");
Refree* R1 = new Refree();
}
Этот код не компилировать с:
In function 'int main()':
error: use of deleted function 'Refree::Refree()'
note: 'Refree::Refree()' is implicitly deleted because the default definition would be ill-formed:
error: no matching function for call to 'Human::Human()'
note: candidates are:
note: Human::Human(std::string)
note: candidate expects 1 argument, 0 provided
Почему это не так, и как я могу построить указатель на Refree
?