I call dyserv in my C++ code as the folowing
//input:"V","I","L",n,vl,vu,il,iu,abstol,z,ldz,
double *z=NULL;
z=(double *)malloc(n*n*sizeof(double)); //column major matrix
int il,iu,ldz;
il=3;
iu=4;
ldz=n;
double abstol=0;
double vl,vu;
//output:M,w,isuppz,info
int M,info;
double *w=NULL;
w=(double *)malloc(M*sizeof(double));
int *isuppz=NULL;
isuppz=(int *)malloc(2*M*sizeof(int)); //column major matrix
//input-output:a
double *a=NULL;
a=(double *)malloc(n*n*sizeof(double)); //column major matrix
int k;
k=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
k=(i+j)+j*(n-1);
a[k]=aa[i][j];
}
}
dsyevr_("V","I","L",&n,a,&n,&vl,&vu,&il,&iu,&abstol,&M,w,z,&ldz,isuppz,&info);
cout<<info<<endl;
But I get Segmentation fault.
Does anyone know why?

