dopo piu d un weekend(da giovedi mattina)passato interamente sul c++ sono giunto finalmente ad aver eun programma decente.mi rimane un erroe,che da quant ho capito su internet dovrebbe essere questione di standard o compilatore.adesso ve lo posto per avere un parere piu chiaro(ed in italiano).
vi posto il main e le due classi,lasciando fuori l'implementazioni delle funzioni che sono lunghe e non mi creano problemi:
Codice: Seleziona tutto
#include <iostream>
#include <cmath>
#include <list>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#define M 2
#define N 50
using namespace std;
class input{
public:
double a[2];
double b[2];
double toll1;
double dati[][M];
int n;
public:
//metodi
void proiezionepuntoretta (double xa, double ya, double xp, double yp, double h, double v, double *asc, double *ord, double *coord);
double isconvesso (double p3[]);
int calcolaindicelatotriangolo(int iterazione);
double distanzapunti(double x1, double y1,double x2, double y2);
void risolvi(double xp, double yp,double xa, double ya,double h, double v, double hs, double vs, double*t, double*s);
input(double punto1[],double punto2[],double toll)
{
int i;
toll1=toll;
for(i=0;i<2;i++)
{
a[i]=punto1[i];
b[i]=punto2[i];
}
}
input(double seg1[2],double seg2[2],double toller,double matrix[3][2],int nn)
{
int i,j;
for(i=0;i<2;i++)
{
a[i]=seg1[i]=0;
b[i]=seg2[i]=0;
}
toll1=toller=0;
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
{
dati[i][j]=matrix[i][j];
}
}
}
input(double toll){
int i;
for(i=0;i<2;i++)
{
a[i]=0;
b[i]=0;
}
}
};
class output{
public:
char mex[N];
double x,y;
int indice;
public:
list<output> polixseg(input);
};
int main()
{
input t(double,double,double[3][2],double,int);
output ris;
cout<<ris.polixseg(t({3,20},{1,16},0.5,{4,3},{21,3},{4,20},3));***
return 0;
}
mi vien dato un errore e 5 warning alla riga che ho asteriscato,cioè la penultima:
|83|warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]|
|83|warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]|
|83|warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]|
|83|warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]|
|83|warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]|
|83|error: cannot convert ‘<brace-enclosed initializer list>’ to ‘double’ for argument ‘1’ to ‘input t(double, double, double (*)[2], double, int)’|
||=== Build finished: 1 errors, 5 warnings ===|
sapete aiutarmi?