c - 为什么将未使用的函数参数值转换为 void?

标签 c casting void

在一些C项目中,我看到过这样的代码:

static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) {
    (void)ud;
    (void)osize;
    /* some code not using `ud` or `osize` */
    return ptr;
}

两次转换为 void 有什么用吗?

最佳答案

这是为了避免编译器发出警告,因为一些参数未被使用。

关于c - 为什么将未使用的函数参数值转换为 void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55663015/

相关文章:

c# - .Net框架如何实现int到float的转换?

c# - System.Void类型如何为不返回值的方法指定返回值类型?

c++ - 为什么我可以使用 void() 而不能使用 void{}?

c - Windows 控制台应用程序上的平台游戏和改进输入

c - 反向逐字打印字符串?

R float 精度在从字符转换时丢失

C - 如何在方法中对数组进行排序和打印,但不影响先前未排序的数组

c - 不同类型的结构

c++ - 指向字符串和字符的指针捕获 22

c++ - 为什么 C 样式转换允许您转换为私有(private)基类?