不带头指针和头节点的循环队列实现其出队与入队

不知道哪里出错了总是没有输出


```c++
#include <iostream>

using namespace std;
template<typename DataType>
struct Node
{
    DataType data;
    Node* next;
};
template<typename DataType>
class CirQueue
{
public:
    CirQueue()
    {
        rear=nullptr;
    };
    ~CirQueue(){};
    void EnQueue( DataType x)
    {

        Node<int>* p=nullptr;
        p=new Node<DataType>;
        p->data=x;
        if(rear=nullptr)
        {
        p->next=p;
        rear=p;
        }
        else
        {
         p->next=rear->next;
         rear->next=p;
         rear=p;
        }
    }
    DataType DeQueue()
    {
        int x;
        Node<int>* p=nullptr;
        if(rear=nullptr) return 0;
        else if(rear->next==rear)
        {
            x=rear->data;
            delete rear;
            rear=nullptr;
            return x;
        }
        else{
        p=rear->next;
        x=p->data;
        rear->next=p->next;
        delete p;
        return x;
        }
    }
private:
    Node<DataType>* rear;
};
int main()
{
    CirQueue<int> q;
    q.EnQueue(1);
    q.EnQueue(2);
    q.EnQueue(3);
    cout<<q.DeQueue()<<endl;
}


```

27、43行的 rear=nullptr 有问题,比较要用 == ,你写成一个等号赋值了

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^