c++ - 在函数体中将变量转换为 void 的用法是什么?

标签 c++ function casting function-parameter

我刚开始学习编写嵌入式 C 代码。我看到了如下代码。

函数定义如下:

void printDebug(const char d1[]){(void)d1;}

它是这样使用的:

printDebug("BLE_UART_EVENT");

我不明白它的用途。它给我的印象是可调用的 char 数组?

最佳答案

它没有调用 char 数组,它只是显式地将 char 数组转换为 void。 (并且立即丢弃评估结果。)

我认为它只是用来禁止未使用变量的编译器警告。

如果根本不会使用该参数,将其设为未命名参数会更清楚。

void printDebug(const char[]) {}

关于c++ - 在函数体中将变量转换为 void 的用法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39307858/

相关文章:

c++ - 为什么不能使用 'enable_if' 在此处禁用此声明

c++ - 为什么堆栈溢出会导致总线错误 10 而不是段错误

c++ - 字符串大小函数不起作用

matlab - Matlab中的cast()和typecast()命令有什么区别

c++ - 程序特定的 OpenGL 运行时错误 : Multiple Input Buffers For Skinned Animation

c++ - 构建 OpenCV 时出错::MonitorFromRect 未在此范围内声明

c++ - 未显式传递参数时使用 lambda 默认为用户输入

c# - 将 List<x> 转换为 List<y>

c# - C# 中的枚举求值

c++ - 链接到可执行文件时如何强制将目标文件包含在静态库中?