首页 > 其他 > 详细

使用模板类导致error LNK2019: 无法解析的外部符号

时间:2014-03-11 08:21:55      阅读:602      评论:0      收藏:0      [点我收藏+]

原地址

1.定义模板类:

template<class T>

class Stack

{....};

2.定义模板成员函数:

每个函数头都要以相同的模板声明打头,并将类限定符改成:类名<T>::这种形式。

template<class T>

bool Stack<T>::push(T tmp)

{...}

3.模板类的使用

Stack<int> object;

4.除非编译器实现了新的export关键字,否则将模板成员函数设置在一个独立的实现文件中将无法运行。因为模板不是函数,它们不能单独编译。模板必须与特定的模板实例化请求一起使用。为此,最简单的方法是将所有模板信息放在一个头文件里,并在要使用这些模板的文件中包含该头文件。如果编译器实现了心得export关键字,则可以将模板方法定义放在一个独立文件中,条件是每个模板声明都是以export开始:

#ifdef STACKTP_H_

#define STACKTP_H_

export template<class T>

class Stack

{......}

#endif

然后按常规类的方式进行:

1.将模板类声明(包括关键字export)放在一个头文件中,并使用#include编译指令时程序能够使用这些声明。

2.将模板类的方法定义放在源代码文件中,在该文件中包含头文件,并使用工程文件时程序能够使用这些定义。

使用模板类导致error LNK2019: 无法解析的外部符号,布布扣,bubuko.com

使用模板类导致error LNK2019: 无法解析的外部符号

原文:http://www.cnblogs.com/lanye/p/3591139.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!