C++ 类模板';调用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

我通过制作一个简单的纸牌游戏来学习数据结构。 在这段代码中,我有一个类Player,还有一个队列,包含游戏中的所有玩家

队列的实现:

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
类是否有您试图调用的默认构造函数?不,我忘了,您的注释解决了我的问题!。。谢谢哦:(,我花了很长时间才找到问题所在,现在问题解决了!谢谢!)哦:(,我花了很长时间才找到问题所在,现在问题解决了!谢谢!。