首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于单向链表的一点有关问题

2013-12-13 
关于单向链表的一点问题初学数据结构,在实现单向链表时,总是无法编译,代码如下:Node1.h#ifndef NODE1_H#de

关于单向链表的一点问题
初学数据结构,在实现单向链表时,总是无法编译,代码如下:

Node1.h
#ifndef NODE1_H
#define NODE1_H

#include <iostream>
template<class T>
class Node1 {
public:
T data;
Node1<T>* next;
Node1() {
next = NULL;
}
};
#endif


Linklist1.h
#ifndef LINKLIST1_H
#define LINKLIST1_H

#include "Node1.h"
template <class T>
class LinkList1 {
private:
Node1<T>* head;
void Init();
public:
LinkList1();
~LinkList1();
};

#endif

LinkList1.cpp
#include "LinkList1.h"

template <class T>
void LinkList1<T>::Init() {
head = new Node1<T>;
}

template <class T>
LinkList1<T>::LinkList1() {
Init();
}

template <class T>
LinkList1<T>::~LinkList1() {
delete head;
}

为了各位查看方便,所有其他函数都没有贴上来;
主函数如下:
#include <iostream>
#include "LinkList1.h"

using namespace std;

int main() {
    LinkList1<int> myList;

    return 0;
}
主函数中想要声明一个int型的链表,编译时发生如下错误:
obj\Debug\C++\test\main.o||In function `main':|
E:\C++\test\main.cpp|7|undefined reference to `LinkList1<int>::LinkList1()'|
E:\C++\test\main.cpp|9|undefined reference to `LinkList1<int>::~LinkList1()'|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 1 seconds) ===|

但是明明构造函数和析构函数我都写了的,那这个错误到底应该怎么样修改呢,求各位大神解释
[解决办法]
把Linklist1的声明和实现放到一个文件中试一下
或者在.h文件中 include"LinkList1.cpp"
看看可不可以 

热点排行