我试图通过创建一个使用52个“卡片”类对象数组的“卡片组”类来创建卡片组。该数组需要动态分配,但是我无法弄清楚创建它的语法。我的代码给出了此错误:
错误C2512:“卡”:没有适当的默认构造函数
#include "CardDeck.h"
#include "Card.h"
#include <iostream>
#include <cstdlib>
using namespace std;
CardDeck::CardDeck()
{
*Deck = new Card[52];
}
我很好奇我是否能够使用我的
Card :: Card(char a,char b)构造函数,或者如果我必须首先使用默认构造函数创建数组。
最佳答案
要创建类似Card
的卡片数组,必须具有默认构造函数
class Card
{
public:
Card(); // default cosntructor
...
};
原因是需要一个默认的构造函数来将初始值赋予数组。
正如juanchopanza所说,您应该改用vector,但是仍然会有同样的问题。
正如本所说,
#include "Card.cpp"
也是错误的。另外这条线看起来可疑
*Deck = new Card[52];
为什么要取消引用
Deck
?几乎可以肯定,这也是错误的。我将显示更多代码。似乎您有很多错误。