000
18.11.2013, 13:12 Uhr
C-Laie
|
Hallo C-Freunde!
Zur Zeit versuche ich einen C-artigen Quelltext nachzuvollziehen. Dabei ist eine Prozedur aufzurufen (Parameter: void). Doch es scheitert an der Deklarationszeile:
Code: |
void sort(void *A, size_t n, size_t size, int (*cmp)(const void *, const void *))
|
, und zwar am letzten Parameter, den ich überhaupt nicht aufgelöst bekomme. Was geschieht dort? Natürlich habe ich schon reichlich gesucht, aber nichts, was mir weiterhilft, gefunden.
Um festzustellen, woher das ominöse "cmp" stammt, rief ich die Prozedur allein und völlig leer auf, also
Code: |
void sort(void *A, size_t n, size_t size, int (*cmp)(const void *, const void *)) {}
|
Der Borland-C++-Compiler compiliert das klaglos. Auch die IDE-Funktion "Deklaration suchen" brachte mich nicht weiter.
Klar, mit dem Sternchen ist es ein Zeiger, und cmp hat wahrscheinlich etwas mit compare/comparing zu tun.
Was für einen letzten Parameter muß man der sort-Prozedur übergeben?
Vielen Dank im voraus und beste Grüße
C-Laie |