读书人

大哥大姐帮帮忙啊解决方案

发布时间: 2012-03-01 10:25:46 作者: rapoo

大哥大姐帮帮忙啊
//linklist.h
#ifndef LINKLIST_H
#define LINKLIST_H
#include "utility.h"
template< class ListEntry >
class LinkList
{
public:
//构造函数
LinkList();
...........
//linklist.cpp
#include "linklist.h"
//
template< class ListEntry >
LinkList< ListEntry >::LinkList():head( NULL ), count( 0 )
{
}
..............
//main.cpp
#include<iostream>
#include "linklist.h"

using namespace std;

int main()
{
LinkList< int > lst;
return 0;
}
却始终出现main.obj : error LNK2001: unresolved external symbol "public: __thiscall LinkList<int>::LinkList<int>(void)" (??0?$LinkList@H@@QAE@XZ)的错误
把构造函数定义移到类里就对了,为什么啊?模板定义也在类的作用域里啊...

[解决办法]
那就放进去吧,不要将接口和实现分离

现在的编译器对模板支持的不好,不是你个人的原因


[解决办法]
建议你看一下 <C++template 中文版>
第六章的:模板实战,里面讲的清楚

读书人网 >C++

热点推荐