Nó có thể không rõ ràng từ tiêu đề. Tôi đi qua đoạn mã sau trong một dự án STM32 nhúng. Tôi không hiểu dòng bên trong hàm.Câu này có ý nghĩa gì trong C: "(void) ptr;"
static void txend1(UARTDriver *uartp) {
(void)uartp; // what does this do? Is it a statement?
}
Tôi đã thử tìm kiếm ở nơi khác trực tuyến, nhưng hầu hết kết quả là truyền con trỏ để làm mất con trỏ mà tôi không nghĩ đây là. Cảm ơn đã giúp đỡ!
Nó có nghĩa là "không cho tôi biết tôi đang viết mã xấu, tôi muốn truyền tải * * không sử dụng tranh luận". C trình biên dịch là một chút hậu môn về nó và có xu hướng tạo ra một cảnh báo. Thường là thích hợp, nhưng không phải ở đây. Anh không muốn làm bất cứ điều gì đặc biệt khi kết thúc cuộc trao đổi, không phải bất thường. Con trỏ hàm không phải là lựa chọn của anh ta. –
@HansPassant Điều này cũng có thể là do API được thực thi từ bên ngoài và/hoặc vì mục đích thống nhất - ví dụ, có thể có một triển khai thay thế sử dụng con trỏ. – SomeWittyUsername
Yup, đó là những gì "con trỏ hàm không phải là lựa chọn của anh ấy" có nghĩa là. –