float array wert als zeiger auf double casten
-
Hallo allerseits!
Ich will einer funktion die als parameter ein zeiger auf double erwartet ein array wert vom typ float übergeben. Wie caste ich das ?
void dummy(double *value) { printf("dummy: %f\n", *value); } int main() { float array[3] = {1.3, 1.4, 1.5}; dummy(array[1]); // Wie übergebe ich hier den Wert? return 0; }
-
^^mit 'nem cast haut das nicht hin. doubles sind meistens breiter als floats. musste der funktion ein echtes double-array geben.
-
void dummy(double *value) { printf("dummy: %f\n", *value); } int main() { float values[3] = { 1.3f, 1.4f, 1.5f }; double d = values[1]; dummy(&d); return 0; }
-
ok danke. aber ohne zeiger funktioniert es schon - komisch
void dummy(double v) { printf("dummy: %f\n", v); } int main() { float array[3] = {1.3, 1.4, 1.5}; dummy(array[2]); // geht problemlos return 0; }
-
danke theta. so hatte ich es bis jetzt. ich wollte es bloss kürzer, effizienter, eleganter... haben.
-
dermitdemarraytanzt schrieb:
...kürzer, effizienter, eleganter...
dann bleib doch bei einem 'real'-typ, also entweder float oder double. nicht mischen.