C++模板类重载"<<"未定义错误
来源:互联网 发布:专升本网络教育要多久 编辑:程序博客网 时间:2024/06/05 05:25
在使用C++的模板类进行编程的时候,重载"<<"运算符时,如果定义不当,会出现未定义的情况,错误为LNK2019。
这个问题的原因是由于C++的模板编译机制造成的,解决问题的方式是在类中声明<<运算符时,需要在运算符和参数之间的位置,添加类似<T>标识,具体如下:
template<typename T_Vertex, typename T_Edge>
class CMatrixGraph
{
friend ostream & operator<< <T_Vertex, T_Edge> (ostream &os, CMatrixGraph<T_Vertex, T_Edge> &g);
.......
}
template<typename T_Vertex, typename T_Edge>
ostream &operator<<(ostream &os, CMatrixGraph<T_Vertex, T_Edge> &g)
{
int nVertexNum = g.GetVertexNum();
for (int i = 0; i < nVertexNum; ++i)
{
for (int j = 0; j < nVertexNum; ++j)
{
os << g.GetEdgeAt(i, j) << ' ';
}
os << endl;
}
return os;
}
重新编译,错误消失。
0 0
- C++模板类重载"<<"未定义错误
- C++ 未定义基类错误解决
- c#,winform调用百度地图及“BMap”未定义错误解决方案
- 模板类中操作符重载问题("<<"和">>"重载)[c++]
- C++程序错误集锦,如:thiscall,_tmain已经定义,重载,未定义的标识符
- ajaxpro.2.dll 类对象未定义错误.ajaxpro.2.dll 无效 页面对象未定义 命名空间未定义
- 【足迹C++primer】60、重载和模板
- c++STL(一)重载与模板。
- C++--模板遇上运算符重载
- C++自定义模板类中STL iterator未定义的问题
- DWR变量未定义错误
- ‘webform_postbackoptions’未定义 错误
- insmod错误:符号未定义
- WebForm_PostBackOptions未定义错误
- WebService 未定义错误
- _beginthread,_endthread未定义错误
- 函数未定义错误排查
- Ajax 'sys' 未定义 错误
- android onTouch()与onTouchEvent()的区别
- 独特的php遍历数组的写法,reset(),next(),current()
- Codeforces 629D - Babaei and Birthday Cake 线段树
- iOS百度地图API的使用
- SringMvc 中操作 session 中的数据
- C++模板类重载"<<"未定义错误
- java基础 16年2月23日
- CodeForces 593A 2Char(暴力枚举26个字母的组合)
- mysql 常用操作命令
- 一.项目介绍及django的MTV模式简介
- 自定义流水布局(实现相册功能)
- 2754: [SCOI2012]喵星球上的点名 AC自动机+map
- iOS基础概念
- Eclipse全键盘编码攻略之一——入门