Warnung: return macht die Zeiger von Ganzzahl ohne einen cast gibt aber integer wie gewünscht

Ich versuche, herauszufinden, der richtige Weg, um eine ganze Zahl, die von einem void * Funktionsaufruf in C.

ie ..

#include <stdio.h>

void *myfunction() {
 int x = 5;
 return x;
}

int main() {
  printf("%d\n", myfunction());
  return 0;
}

Aber ich bekomme immer:

Warnung: return macht die Zeiger von Ganzzahl ohne cast

Gibt es eine Besetzung, die ich tun müssen, um diese Arbeit zu machen? Es scheint return x ohne problem, die real myfunction gibt auch Zeiger auf Strukturen und Zeichen-strings, die alle Arbeit, wie erwartet.

  • Warum machst du das?
  • myfunction Rückgabetyp ist void* aber die Art der x ist int. Warum wollen Sie, damit es funktioniert ? Was ist die eigentliche Funktion, die Sie zu tun ?
  • Einen guten Grund gibt: die Aufrechterhaltung der code, hat jemand anderes getan.
InformationsquelleAutor user2662982 | 2013-08-08
Schreibe einen Kommentar