-
Problème de déclaration
Bonjour,
J'ai un souci de traduction en Pascal de cette définition :
Code:
int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**);
Il y est défini une fonction xShmMap qui renvoie un entier et accepte en paramètres un pointeur sur structure sqlite3_file, un entier iPg, un entier pgsz, et... c'est là que ça se complique pour moi !
Comment comprendre le " , int, " en 4° position : paramètre entier sans nom ?
Et pour le " void volatile** " ? Pointeur sur un pointeur de procédure volatile ?
Merci pour vos décryptages.
-
bonsoir,
le ,int, indique simplement un paramètre int
dans un pointeur de fonction ou la déclaration d'une méthode le nom des paramètres est inutile, seul l'ordre et le type importe
c'est la même chose pour sqlite3_file*, il n'y a pas de nom
void volatile** indique un pointeur de pointeur, volatile indique au compilateur de ne pas optimiser le paramètre http://msdn.microsoft.com/en-us/library/12a04hfd.aspx
xShmMap est un type pointeur sur fonction qui prend pour paramètre, dans cet ordre, un sqlite3_file*, 3 int et un void**, et retourne un int
-