HackerLZH
.h 文件和.cpp 文件都要加
慕设计0502865
代码都不贴怎么告诉你原因啊
T松子
如果你要在在Stack.h文件里面定义重载,你当然要在这个文件引入头文件和命名空间。
如果cout都没有定义,怎么实现重载?
qq_帅大爷_0
这个输出的格式是在Coordinate中进行的运算符重载,最后不使用这个类了,针对特定类所做的重载也就没有使用。
宝慕林2301194
没有代码的话看不出来哪里错了,一个可能的原因是坐标类的构造函数没有赋初值导致编译器随机给你赋了一个值(我也是小白,这是个人猜测
THLM
模板的编译是不能分离的,所以函数实现要写在头文件中。
qq_七只小乌鸦_0
是VS,可以用codeblock
慕粉1471690861
慕村7605945
#include<iostream>
using std::ostream;
using std::istream
把using namespace std;换成上面代码 vc6不兼容问题
Lydia_Lv
这据说是VC的一个经典BUG。和namespace也有关.
只要含有using namespace std; 就会提示友员函数没有访问私有成员的权限。
解决方法:去掉using namespace std;换成更小的名字空间。
using std::endl; using std::cout;
using std::ostream;
或者将重载运算符函数放在Coordinate类中去定义。
亲测两种均有效