[RISOLTO]che primary-expression sta aspettando?

di il
2 risposte

[RISOLTO]che primary-expression sta aspettando?

Ciao a tutti. Ecco qui un programmino molto carino che sto cercando di far funzionare:
//center_of_mass.C
//progeramma per il calcolo del centro di massa 
//utilizzando CGAL

#include "tutorial.h"
#include <iostream.h>
#include <CGAL/Origin.h>
#include <CGAL/Cartesian.h>
#include <CGAL/Point_2.h>
#include <CGAL/Vector_2.h>

//Creiamo una variabile che associ un punto alla massa
typedef CGAL::Cartesian<double>     K;
typedef CGAL::Point_2<K>       Point_2;
typedef CGAL::Vector_2<K>		Vector_2;
typedef CGAL::Origin					ORIGIN;

struct Point_mass { 
	Point_2 pos;
	double mass;
	Point_mass(const Point_2 & p, double m): pos(p), mass(m) {}
};

Point_2 centre_of_mass(Point_mass *cur, Point_mass *beyond)
{
	Vector_2 sumv(0.0, 0.0);
	double sumw = 0.0;
	for(;cur!=beyond; ++cur){
		sumv = sumv+(cur->pos - ORIGIN)* cur->mass;
		sumw +=cur->mass;
	}
	return ORIGIN +sumv/sumw;
}

int main()
{
	const int N = 4;
	Point_mass points[N] = {
		Point_mass(Point_2 (3,4), 1),
		Point_mass(Point_2(-3,5),1),
		Point_mass(Point_2(2.1,0),10),
		Point_mass(Point_2(7,-12),1)
	};
	
	Point_2 centre = centre_of_mass(points, points+N);
	cout << "The centre of mass is: (" << centre.x() <<", "<< centre.y() <<")\n";
}

Il probblema è che mi da i seguenti errori:
enterOfMass.C: In function ‘Point_2 centre_of_mass(Point_mass*, Point_mass*)’:
CenterOfMass.C:30:33: error: expected primary-expression before ‘)’ token
CenterOfMass.C:33:16: error: expected primary-expression before ‘+’ token

Non capisco, nel ciclo for dovrebbe essere tutto ok. voi vedete l'errore?

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte