これは、プリミティブルートを見つけるためにコンパイルしようとしていたコードです...しかし、エラーが発生します。
int isPrimitive (int q, int a) {
int i,z;
double k,s;
s=1;
i=0;
double *factors=malloc(sizeof(double)*q-2);
while (s>0 && i<q-2) {
k=pow(a,i);
s=k-(q*floor(k/q));
for (z=0;z<(sizeof(*factors)/sizeof(factors[0]));z++) {
if (factors[z]==s) {
return 0;
}
}
factors[i]=s;
i++;
}
ここの行でdouble *factors=malloc(sizeof(double)*q-2);
// error invalid conversion from void* to double* が来ます。