Il peut ne pas être clair à partir du titre. Je suis tombé sur le code suivant dans un projet STM32 intégré. Je ne comprends pas la ligne à l'intérieur de la fonction.Que signifie cette instruction dans C: "(void) ptr;"
static void txend1(UARTDriver *uartp) {
(void)uartp; // what does this do? Is it a statement?
}
J'ai essayé de chercher ailleurs en ligne, mais la plupart des résultats sont des pointeurs CASTING d'annuler des pointeurs, que je ne pense pas que ce soit. Merci pour l'aide!
Cela signifie « ne me dites pas que je vous écris du mauvais code, je * * intention de ne pas utiliser la argument". C compilateurs sont un peu anales à ce sujet et ont tendance à générer un avertissement. Souvent, mais pas ici. Il ne voulait pas faire quelque chose de spécial à la fin de la transmission, pas inhabituel. Le pointeur de fonction n'était pas son choix. –
@HansPassant Cela peut être dû à une API imposée de la part d'un tiers et/ou à l'uniformité - par exemple, il peut y avoir une implémentation alternative qui utilise le pointeur. – SomeWittyUsername
Yup, c'est ce que signifie "le pointeur de fonction n'était pas son choix". –