1
Ich weiß, dass in CGAL wir Zugriff auf Elemente von Point_2 in der folgenden Art und Weise haben:cgal + Array von Punkten
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef Kernel::Point_2 Point_2;
Point_2 points(1.0,1.0);
int main(){
std::cout<<points.x()<<"\t"<<points.y();
return 0;}
aber wie kann ich tun dies für eine Reihe von Punkten:
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef Kernel::Point_2 Point_2;
typedef std::vector<Point_2> Vector;
Vector points;
points.reserve(N);
int main(){
points[0].x() =1;
points[0].y() =1;
return 0;}
Punkte [i] .x() oder Punkte [i] .x erzeugt Fehler.
Was ist 'VECTOR'? Warum nennst du 'reserve'? Was bedeutet "nicht funktioniert"? –
'reserve' tut nicht, was Sie denken, lesen Sie bitte das Dokument. Angenommen, Sie haben stattdessen 'resize' vorgenommen, können Sie' points [0] = Point_2 (1.0,1.0); '. Wenn Sie bei 'reserve' bleiben, wäre das' points.push_back (Point_2 (1.0,1.0)); '. –