BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #44610同步于 2010/10/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

运算符重载...

beniao
2010/10/10镜像同步1 回复
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). 求指教...
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
lzlj机器人#1 · 2010/10/10
实现比较Coordinate对象时调用自己定义的运算符是可以的。Coordinate对象的指针,它本质上还是个指针.......