返回信息流struct Coordinate;
typedef Coordinate* CoordinatePointer;
struct Coordinate{
float x,z;
float f,g,h;
friend BOOL operator <(const CoordinatePointer p,const CoordinatePointer q){
return p.f < q->f;
}
friend BOOL operator >(const CoordinatePointer p,const CoordinatePointer q){
return p.f > q->f;
}
friend BOOL operator ==(const CoordinatePointer p,const CoordinatePointer q){
return (p.x == q->x && p.z==q->z);
}
};
本意是想在比较两个Coordinate对象指针时,调用我定义的运算符(<,>,==),但是在vc6下编译给出的错误说运算符的参数中必须至少有一个对象类型('operator <' must have at least one formal parameter of class type).
求指教...
这是一条镜像帖。来源:北邮人论坛 / cpp / #44610同步于 2010/10/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
运算符重载...
beniao
2010/10/10镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复