i trying to take some code from a computation geometry book and i found this error need help!
class Point2D{
..
..
some functions
..
..
int classify(Point2D &p0, Point2D &p1) {
Point2D p2 = *this;
Point2D a = p1 - p0;
Point2D b = p2 - p0;
double sa = a.x * b.y - b.x * a.y;
if (sa > 0.0) return LEFT;
if (sa < 0.0) return RIGHT;
if ((a.x * b.x < 0.0) || (a.y * b.y < 0.0)) return BEHIND;
if (a.length() < b.length()) return BEYOHD;
if (p0 == p2) return ORIGIN;
if (p1 == p2) return DESTINATION;
return BETWEEN;
}
int classify(Edge2D ed) {
return Point2D::classify(ed.org, ed.dest);
}
};
class Edge2D {
public:
Point2D org;
Point2D dest;
...bla bla bla
};
compiler errors:
syntax error: identifier 'Edge2D'
'ed': undeclared identifier
left of '.org' must have class/struct/union
left of 'dest' must have class/struct union
'Point2D::classify': no overloaded function takes 1 arguments
help ! :(