Z tytułu może nie być jasne. Natknąłem się na następujący kod w osadzonym projekcie STM32. Nie rozumiem linii wewnątrz funkcji.Co oznacza to stwierdzenie w C: "(void) ptr;"
static void txend1(UARTDriver *uartp) {
(void)uartp; // what does this do? Is it a statement?
}
Próbowałem wyszukiwać gdzie indziej w Internecie, ale większość wyników rzucają wskaźniki, aby nie wyświetlać wskaźników, co moim zdaniem nie jest. Dzięki za pomoc!
to znaczy „nie mów mi, że piszę zły kod, I * * nie przeznaczone do używania argument". Kompilatory C są nieco analne i generują ostrzeżenie. Często odpowiednio, ale po prostu nie tutaj. Nie chciał robić nic specjalnego na końcu transmisji, co nie było niczym niezwykłym. Wskaźnik funkcji nie był jego wyborem. –
@HansPassant Może to być spowodowane przez wymuszony interfejs API pochodzący od strony zewnętrznej i/lub w celu zachowania jednolitości - na przykład może istnieć alternatywna implementacja wykorzystująca wskaźnik. – SomeWittyUsername
Tak, to oznacza "wskaźnik funkcji nie był jego wyborem". –