关于C++类模板无法解析的问题
2016-09-21 21:42
357 查看
自己写了一个C++模板类,可是在vs2012中死活显示无法解析它的成员函数。
开始怎么也想不通,因为我是按照普通方式布置的:头文件放声明,在同名源文件中放实现,并包含其头文件。
后来百度了一下才发现,模板类未实例化的情况下不会出现普通函数类似的多重包含导致的重定义。
因此,解决方案如下:
法一:
将声明和实现都放在xxx.h文件中,然后在需要的地方include"xxx.h"即可
法二:
1.将模板类声明(包括关键字export)放在一个头文件中,并使用#include编译指令时程序能够使用这些声明。
2.将模板类的方法定义放在源代码文件中,在该文件中包含头文件,并使用工程文件时程序能够使用这些定义。
Ps:包含关键字export的方式如下:(注:不是所有编译器的各版本都支持)
export template<class T>
class myClass{
//......
};
致谢:http://blog.csdn.net/guoxiaoqian8028/article/details/7977202
开始怎么也想不通,因为我是按照普通方式布置的:头文件放声明,在同名源文件中放实现,并包含其头文件。
后来百度了一下才发现,模板类未实例化的情况下不会出现普通函数类似的多重包含导致的重定义。
因此,解决方案如下:
法一:
将声明和实现都放在xxx.h文件中,然后在需要的地方include"xxx.h"即可
法二:
1.将模板类声明(包括关键字export)放在一个头文件中,并使用#include编译指令时程序能够使用这些声明。
2.将模板类的方法定义放在源代码文件中,在该文件中包含头文件,并使用工程文件时程序能够使用这些定义。
Ps:包含关键字export的方式如下:(注:不是所有编译器的各版本都支持)
export template<class T>
class myClass{
//......
};
致谢:http://blog.csdn.net/guoxiaoqian8028/article/details/7977202
相关文章推荐
- 关于C++类模板无法解析的问题
- 关于dom4j无法解析xmlns问题及生成非UTF-8字符集乱码问题的解决
- DirectSound中关于IID_IDirectSound无法解析的问题
- 关于vs2010 C++编译链接总是出现“LNK:2019 无法解析的外部符号”的问题
- DedeCMS模板文件不存在,无法解析文档! 问题定位方法
- 关于在VS2012下opencv+QT出现“无法解析的外部命令”问题的解决方案
- 【连载】【FPGA黑金开发板】NIOS II那些事儿--NIOS II下关于无法进行寄存器方式操作PIO的问题解析(十四)
- 关于real210开发板linux系统可能无法解析域名的问题解决方法
- 关于各种无法解析的外部符号问题的相应解决方案
- 关于各种无法解析的外部符号问题的相应解决方案
- 关于PHP mail函数无法正常解析HTML邮件问题
- 关于“无法解析的外部符号”和“该符号在函数_wmain 中被引用”的问题
- 关于虚机克隆模板导致无法添加域用户的问题
- 关于GetHostEntry无法解析IP地址和ReceiveFrom调用中ref关键字问题
- 关于dom4j在解析拥有命名空间xmlns时,无法解析的问题
- 关于各种无法解析的外部符号问题的相应解决方案
- 关于无法解析的外部符号 的错误问题 socket
- 关于各种无法解析的外部符号问题的相应解决方案
- 关于各种无法解析的外部符号问题的相应解决方案
- 关于c#连接Oracle数据库出现的无法解析连接字符串问题