0_0_29292887_21770.cpp: In function 'int sgn(double)':
0_0_29292887_21770.cpp:35:5: error: redefinition of 'int sgn(double)'
int sgn(double x) {
^
0_0_29292887_21770.cpp:10:5: note: 'int sgn(double)' previously defined here
int sgn(double x) {
^
0_0_29292887_21770.cpp: At global scope:
0_0_29292887_21770.cpp:38:8: error: redefinition of 'struct Point3'
struct Point3 {
^
0_0_29292887_21770.cpp:13:8: error: previous definition of 'struct Point3'
struct Point3 {
^
0_0_29292887_21770.cpp:48:4: error: invalid type in declaration before ';' token
}dd;
^
0_0_29292887_21770.cpp:48:4: error: conflicting declaration 'int dd'
0_0_29292887_21770.cpp:23:2: note: previous declaration as 'Point3 dd'
}dd;
^
0_0_29292887_21770.cpp: In function 'double Length(Vector3)':
0_0_29292887_21770.cpp:56:8: error: redefinition of 'double Length(Vector3)'
double Length(Vector3 a) {
^
0_0_29292887_21770.cpp:27:8: note: 'double Length(Vector3)' previously defined here
double Length(Vector3 a) { return sqrt(Dot(a, a)); }
^
0_0_29292887_21770.cpp: In function 'double Area2(Point3, Point3, Point3)':
0_0_29292887_21770.cpp:59:8: error: redefinition of 'double Area2(Point3, Point3, Point3)'
double Area2(Point3 a, Point3 b, Point3 c) {
^
0_0_29292887_21770.cpp:30:8: note: 'double Area2(Point3, Point3, Point3)' previously defined here
double Area2(Point3 a, Point3 b, Point3 c) { return Length(Cross(b - a, c - a)); }
^
0_0_29292887_21770.cpp: In member function 'void Convex3D::deal(int, int, int)':
0_0_29292887_21770.cpp:88:60: error: call of overloaded 'Onleft(Point3&, Point3&, Point3&, Point3&)' is ambiguous
if(Onleft(P[p], P[F[f].a], P[F[f].b], P[F[f].c])) {
^
0_0_29292887_21770.cpp:88:60: note: candidates are:
0_0_29292887_21770.cpp:33:6: note: bool Onleft(Point3, Point3, Point3, Point3, int)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c, int on = 0) { return sgn(Dot(Cross(b - a, c - a), p - a)) > -on; }
^
0_0_29292887_21770.cpp:53:6: note: bool Onleft(Point3, Point3, Point3, Point3)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c) {
^
0_0_29292887_21770.cpp: In member function 'void Convex3D::construct()':
0_0_29292887_21770.cpp:141:57: error: call of overloaded 'Onleft(Point3&, Point3&, Point3&, Point3&)' is ambiguous
if(Onleft(P[i], P[add.a], P[add.b], P[add.c]) > 0)
^
0_0_29292887_21770.cpp:141:57: note: candidates are:
0_0_29292887_21770.cpp:33:6: note: bool Onleft(Point3, Point3, Point3, Point3, int)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c, int on = 0) { return sgn(Dot(Cross(b - a, c - a), p - a)) > -on; }
^
0_0_29292887_21770.cpp:53:6: note: bool Onleft(Point3, Point3, Point3, Point3)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c) {
^
0_0_29292887_21770.cpp:149:75: error: call of overloaded 'Onleft(Point3&, Point3&, Point3&, Point3&)' is ambiguous
if(F[j].ok && Onleft(P[i], P[F[j].a], P[F[j].b], P[F[j].c])) {
^
0_0_29292887_21770.cpp:149:75: note: candidates are:
0_0_29292887_21770.cpp:33:6: note: bool Onleft(Point3, Point3, Point3, Point3, int)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c, int on = 0) { return sgn(Dot(Cross(b - a, c - a), p - a)) > -on; }
^
0_0_29292887_21770.cpp:53:6: note: bool Onleft(Point3, Point3, Point3, Point3)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c) {
^
0_0_29292887_21770.cpp: In function 'int PointInPolyhedron(Point3, Convex3D&)':
0_0_29292887_21770.cpp:180:84: error: call of overloaded 'Onleft(Point3&, Point3&, Point3&, Point3&)' is ambiguous
if (Onleft(p, poly.P[poly.F[i].a], poly.P[poly.F[i].b], poly.P[poly.F[i].c])) return -1; //OUT
^
0_0_29292887_21770.cpp:180:84: note: candidates are:
0_0_29292887_21770.cpp:33:6: note: bool Onleft(Point3, Point3, Point3, Point3, int)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c, int on = 0) { return sgn(Dot(Cross(b - a, c - a), p - a)) > -on; }
^
0_0_29292887_21770.cpp:53:6: note: bool Onleft(Point3, Point3, Point3, Point3)
bool Onleft(Point3 p, Point3 a, Point3 b, Point3 c) {
^
|