我尝试将对象放入数组列表并弹出 3错误。我查看了论坛,并且question与我的相似,但我不认为它适用于我的情况。 这是我的代码:
在test.cpp(主文件)中
#include <iostream>
#include "House.h"
using namespace std;
House HouseArray[2];
int main()
{
string toPrint;
House Kubo("Kubo", 2);
HouseArray[0] = Kubo;
toPrint = HouseArray[0].GetHouseName;
cout <<toPrint<< endl;
}
在House.cpp中
#include "House.h"
#include <iostream>
House::House(string a, int h)
{
Name = a;
Health = h;
}
void House::DamageHouse(int d) {
Health -= d;
cout << "Your " << Name << " has " << Health << " left."<<endl;
}
int House::GetHouseHealth() {
return Health;
}
string House::GetHouseName() {
string returning = Name;
return returning;
}
House::~House()
{
}
在House.h中
#include <string>
using namespace std;
class House
{
string Name;
int Health;
public:
House(string a, int h);
int GetHouseHealth();
void DamageHouse(int d);
string GetHouseName();
~House();
};
错误:
答案 0 :(得分:0)
如果要创建这样的数组,则需要一个默认构造函数:template-url
编译器需要知道如何创建一个空House HouseArray[2];
,以便初始化初始化数组。因此在House.h中添加如下内容
House
要在类上调用函数,需要添加大括号:
House() {
Name = "";
Health = 0;
}
我怀疑上述内容也可以解决这个问题。