【发布时间】:2017-09-20 22:16:38
【问题描述】:
可能从标题看不清楚。我在一个嵌入式 STM32 项目中遇到了以下代码。我不明白函数里面的行。
static void txend1(UARTDriver *uartp) {
(void)uartp; // what does this do? Is it a statement?
}
我尝试在网上其他地方搜索,但大多数结果都是将指针转换为 void 指针,我认为不是。感谢您的帮助!
【问题讨论】:
-
它的意思是“不要告诉我我写的代码不好,我打算不使用参数”。 C 编译器对此有点厌烦,往往会产生警告。通常是适当的,但不是在这里。他不想在传送结束的时候做任何特别的事情,并不稀奇。函数指针不是他的选择。
-
@HansPassant 这很可能是由于来自外部方的强制 API 和/或为了统一起见 - 例如,可以有一个使用指针的替代实现。
-
是的,这就是“函数指针不是他的选择”的意思。