我正在为学校制定一套游戏程序。我有以下卡片构造函数:
public SetCard(Colors c, Shapes sp, Shading sd, Numbers num)
{
this.color = c;
this.shape = sp;
this.shade = sd;
this.number = num;
}
我正在尝试创建一个甲板构造函数,该构造函数使用四种枚举类型的每种组合制作卡片:
public setDeck()
{
ArrayList<Card> cards = new ArrayList<Card>(CARDS_IN_DECK);
for (Colors c : Colors.values()) {
for (Shapes sp : Shapes.values()) {
for (Shading sd : Shading.values()) {
for (Numbers num : Numbers.values()) {
cards.add(new SetCard(c, sp, sd, num));
}
}
}
}
return cards;
}
编译时出现错误,告诉我“ SetCard类中的构造函数SetCard无法应用于给定类型”
我的SetCard构造函数接受参数的枚举类型,所以我不明白为什么会这样。
最佳答案
尝试从构造函数中删除void
关键字,使其看起来像这样:
public SetCard(Colors c, Shapes sp, Shading sd, Numbers num)
构造函数没有返回类型。