Ich programmiere in Code-Blöcke unter Windows OS. Ich hatte unter einige der GSL-Bibliotheken im Code zu verwenden, aber ich erhalte eine Fehlermeldung auf der Leitung 13, unvereinbar Typen für Argument 1 von ‚gsl_rng_uniformC-Programmierung, GSL-Vektorbibliothek, Fehler: inkompatible Art für Argument 1 von 'gsl_rng_uniform'
double randomBR = gsl_rng_uniform(r)*360+6;
und ich weiß nicht, wie es zu beheben. Unter der Fehlermeldung befindet sich die Zeile 150 in der Datei gsl_rng.h: "erwartet" const struct gsl_rng * 'aber das Argument ist vom Typ' double '".
#include <stdio.h>
#include <gsl_vector.h>
#include <gsl_rng.h>
int main()
{
gsl_vector*vec=gsl_vector_alloc(100);
double z, max, min, r;
int k=100, i, pos;
for (i=0; i<k; i++){
double randomBR = gsl_rng_uniform(r)*360+6;
z=((int)(gsl_rng_uniform)(r)*360+6);
gsl_vector_set(vec, i, z);
}
max=gsl_vector_max(vec);
pos_vector_max_index(vec);
min=gsl_vector_min)(vec);
pos_vector_min_index(vec);
if (max == 360)
{
printf("Max number generated in box %d", pos);
}
if (max < 366)
{
printf("Max number is %f, position %d", max, pos);
}
return 0;
}
Verwendung Wert von nicht initialisierten Variablen automatische Speicherdauer aufweist, die unbestimmt ist, ruft * undefiniert Verhalten *. – MikeCAT