Love_Irelia97 2019-04-21 15:11 采纳率: 0%
浏览 328

类模板问题,undefined reference与报错无法解析的外部符号

今天编写了一个双向循环链表,想做一个模板类就用模板写了,结果无限报错。

代码如下:

#ifndef _DoublyCircularList_H_
#define _DoublyCircularList_H_

#include "listNode.h"

//  双向循环链表类声明
template<typename Type>
class DoublyCircularList
{
private:
    ListNode<Type>* head;
    size_t          count;
public:
    DoublyCircularList(const size_t size);
//  DoublyCircularList(const DoublyCircularList& ano);
   ~DoublyCircularList();

    bool   insert_(const Type& data, const size_t pos);
//  bool   delete_(const size_t pos);
//  bool   update_(const Type& data, const size_t pos);
//  bool   search_(const size_t pos) const;

//  size_t getCount()   const;
//  Type   getData()    const;
//  void   printList()  const;
//  void   vprintList() const;
};

#endif
#include <iostream>
#include "doublyCircularList.h"
using namespace std;

//  双向循环链表类定义
//  构造函数,负责创建size个结点的双向链表
template<typename Type>
DoublyCircularList<Type>::DoublyCircularList(const size_t size)
{
    count = 0;
    //  创建头结点
    head = new ListNode<Type>;
    head->prev = head->next = head;
    //  插入size个结点
    Type x;
    cout << "-----Ready to construct DoublyCircularList-----" << endl;
    cout << "Please input " << size << " data:" << endl;
    for(size_t i = 0; i < size; ++i){
        cin >> x;
//      insert_(x, i);
    }
    cout << "-----Input data end-----" << endl << endl;
}

template<typename Type>
DoublyCircularList<Type>::~DoublyCircularList()
{

}
#include <iostream>
#include "doublyCircularList.h"
using namespace std;

int main()
{
    cout << "----DoublyCircularList----\n" << endl;
    DoublyCircularList<int> L1(6);

    getchar();

    return 0;
}

在DevC++上编译显示

...

undefined reference to DoublyCircularList< int>::DoublyCircularList(unsigned long long)

undefined reference to DoublyCircularList< int>::~DoublyCircularList()

...

在VS2008上显示error LNK2019: 无法解析的外部符号 "public: __thiscall DoublyCircularList::~DoublyCircularList(void)" (??1?$DoublyCircularList@H@@QAE@XZ),该符号在函数 _main 中被引用

...

error LNK2019: 无法解析的外部符号 "public: __thiscall DoublyCircularList::DoublyCircularList(unsigned int)" (??0?$DoublyCircularList@H@@QAE@I@Z),该符号在函数 _main 中被引用

...

实在没搞懂这是什么意思,求高手指点迷津,感激不尽

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-23 19:01
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

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

报告相同问题?

悬赏问题

  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果