C++ 类模板';调用Player::Player()';时没有匹配的函数;
我通过制作一个简单的纸牌游戏来学习数据结构。 在这段代码中,我有一个类Player,还有一个队列,包含游戏中的所有玩家 队列的实现:C++ 类模板';调用Player::Player()';时没有匹配的函数;,c++,data-structures,C++,Data Structures,我通过制作一个简单的纸牌游戏来学习数据结构。 在这段代码中,我有一个类Player,还有一个队列,包含游戏中的所有玩家 队列的实现: template < typename T > class Queue{ int count; int front, rear; T entry[maxsize]; public: Queue(); bool empty(); errorcode Append(T item); e
template < typename T >
class Queue{
int count;
int front, rear;
T entry[maxsize];
public:
Queue();
bool empty();
errorcode Append(T item);
errorcode serve();
errorcode retreive(T &item);
};
模板
类队列{
整数计数;
前,后;
T条目[maxsize];
公众:
队列();
bool empty();
错误代码追加(T项);
错误代码serve();
错误代码检索(T和项目);
};
队列构造函数:
template <typename T>
Queue<T>::Queue(){
count = 0;
rear = maxsize-1;
front=0;
}
模板
队列::队列(){
计数=0;
后部=最大尺寸-1;
正面=0;
}
这是玩家等级:
class Player {
int number;
List<string> set;
public:
Player(int number, List<string> set) {
this->number = number;
this->set = set;
}
void draw();
string play();
.
.
.
};
职业玩家{
整数;
列表集;
公众:
播放器(整数,列表集){
这个->数字=数字;
此->设置=设置;
}
无效抽取();
弦乐();
.
.
.
};
在main函数中,我使用以下代码声明队列:
Queue<Player> pl;
队列pl;
但是我得到了错误“调用Player::Player()时没有匹配函数”,这个错误出现在队列构造函数的实现行中。它是这么说的(与模板几乎没有关系)
Queue
有一个成员Player条目[maxsize]
,它需要默认构造maxsize
Player对象
但是由于Player
没有默认构造函数,这是不可能的
你确实不需要/不想预先分配最大数量的播放器,当然。它是这么说的(与模板没有什么关系)
Queue
有一个成员Player条目[maxsize]
,它需要默认构造maxsize
Player
对象
但是由于Player
没有默认构造函数,这是不可能的
您确实不需要/不想预先分配最大数量的
Player
s,当然。您试图调用的Player
类是否有默认构造函数?不,我忘了,您的评论解决了我的问题!。。谢谢Player
类是否有您试图调用的默认构造函数?不,我忘了,您的注释解决了我的问题!。。谢谢哦:(,我花了很长时间才找到问题所在,现在问题解决了!谢谢!)哦:(,我花了很长时间才找到问题所在,现在问题解决了!谢谢!。