您好,我正在为学校设计一个项目,该项目必须使用动态分配的对象数组。我想知道我在哪里出错了。
Mammal* Pets = new Mammal[arraysize];Pets[count] = new Dog(tempweight, tempname)
出现错误,指出没有运算符匹配第二行代码的这些操作数。

这是我的构造函数(如果有帮助的话),以及Dog构造函数。

Mammal::Mammal(void)
{
weight = 0;
name = "";
cout << "Invoking Mammal Default Constructor\n";
}

Mammal::Mammal(int tempweight, string tempname)
{
weight = tempweight;
name = tempname;
cout << "Invoking Mammal Constructor\n";
}

Dog::Dog(int tempweight, string tempname)
{
Setweight(tempweight);
Setname(tempname);
cout << "Invoking Dog Constructor\n";
}

谢谢,

最佳答案

您需要声明一个指针数组,如下所示:

Mammal ** Pets = new Mammal*[arraysize];

09-30 18:19