Ich versuche, den richtigen Weg, um herauszufinden, eine ganze Zahl von einem void * Funktionsaufruf innerhalb C. zurückzukehrenWarnung: Rückkehr macht Zeiger von Ganzzahl ohne Guss gibt aber integer als
dh ..
#include <stdio.h>
void *myfunction() {
int x = 5;
return x;
}
int main() {
printf("%d\n", myfunction());
return 0;
}
Aber ich bekomme immer wieder:
Warnung: Rückkehr macht Zeiger von Ganzzahl ohne Guss
Gibt es eine Besetzung, die ich tun muss, damit dies funktioniert? Es scheint x ohne Problem zurückzugeben, die echte myfunction gibt Zeiger auf Strukturen und Zeichenfolgen zurück, die alle wie erwartet funktionieren.
Warum tust du das? – orlp
'myfunction' Rückgabetyp ist' void * 'aber der Typ von' x' ist 'int'. Warum möchtest du es funktionieren lassen? Was ist die wahre Funktion, mit der Sie es zu tun haben? – Mahesh
Ein guter Grund: Code zu pflegen, den jemand anderes getan hat. –