二胖呀 』 2021-02-03 14:45 采纳率: 66.7%
浏览 62
已结题

这个报错是什么意思?怎么解决

invalid use of template-name 'Circular' without an argument list

这个报错怎么解决

template<class T>
class ChainNode; 
template<class T>
class Circular {
    public:
        Circular() {last = 0;}
        ~Circular();
        //Circular<T>& Create_LinkList_Head(int n); 
        int Length() const; 
        bool Find(int k, T& x) const; 
        int Search(const T& x) const; 
        Circular<T>& Delete(int k, T& x); 
        Circular<T>& Insert(int k, const T& x);
        //void Output(ostream& out) const;
    private:
        ChainNode<T> *last;  // pointer to last node
    };
template<class T>
class ChainNode{
    friend Circular<T>;
    private:
    T data;//编号    密码通过数组存储 
    ChainNode<T> *link;
    };
template<class T>
Circular<T>::~Circular(){// 链表的析构函数,用于删除链表中的所有节点
    if (!last) return;         // list is empty
    ChainNode<T> *current = last->link,  *next; 
    while (current != last) {
        next = current->link;
        delete current;
        current = next;
        }
    delete last;
    };    
Circular<int>& Create_LinkList_Head(int n){// 初始单向循环链表化链表——头插法
    Circular<int>* head, *node, *end;
    head = new Circular;//这一行报错
    head->next = head;
    end = head;
    for (int i= 0;i<=n;i++){
        node = new Circular;
        node->data = i+1;
        end->next = node;
        end = node;
        cin >> i+1;
    }
    end->next = head;
    return head;
    };

  • 写回答

1条回答 默认 最新

  • wlj1234 2021-02-07 12:42
    关注

    调用模板要把参数类型加上

    head = new Circular<int>();
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月16日
  • 已采纳回答 9月8日

悬赏问题

  • ¥15 IPQ5018制作烧录固件,boot运行失败(操作系统-linux)(相关搜索:操作系统)(相关搜索:操作系统)
  • ¥20 icefall在librispeech基础上加入个人数据集
  • ¥30 keepalive高可用故障运维配置询问
  • ¥15 求帮助!国家电网内网u盘突然识别不出来了。
  • ¥15 matlab语音变速变调同时实现
  • ¥15 如何用Thoony写ESP32温湿度检测无源蜂鸣器报警代码?
  • ¥20 部件内部的CT图像数据集
  • ¥15 Visual studio调用动态库
  • ¥15 双目摄像头标定后的校准文件
  • ¥15 powerbi矩阵增加度量值后出现对应关系错乱