Ho risolto il problema è che dichiaravo due volte lo struct perchè nel main includevo due librerie diverse dove in entrambe avevo dichiarato già lo struct ora mi sorge un nuovo problema
cout<<"Ora componiamo il nostro vettore"<<endl;
leggivettore(vett,dim);
stampavettore(vett,dim);
cout<<"Ora calcoliamo i moduli e li stampiamo sequenzialmente";
for(int i=0;i<dim;i++){
cout<<" "<<modulo(vett[i])<<endl;
}
cout<<"Ora ordiniamo i moduli in senso crescente se e' necessario"<<endl;
bubblesort(vett,dim);
)
mi da errore qui cout<<" "<<modulo(vett
)<<endl;
mi dice errore [Error] no match for 'operator[]' (operand types are 'Vettore {aka Complesso}' and 'int')
la funzione modulo l'ho definita così nella libreria
double modulo(Complesso&C){
return sqrt(C.re*C.re+C.imm*C.imm);
}