【发布时间】:2016-09-03 14:11:56
【问题描述】:
我正在学习编写嵌入式 C 代码。我看到了一些类似下面的代码。
函数定义如下:
void printDebug(const char d1[]){(void)d1;}
它是这样使用的:
printDebug("BLE_UART_EVENT");
我不明白它的目的。它给了我一个可调用的char 数组的印象?
【问题讨论】:
-
“char 数组是可调用的”是什么意思?你认为这段代码的哪一部分是“调用”一个字符数组?如果您想知道,
printDebug如图所示是无操作的;目前尚不清楚练习的目的是什么。 -
@IgorTandetnik 老实说,
(void)d1;部分。但实际上我不太明白它是如何工作的。 -
这只是一个类型转换
-
这是一个什么都不做的类型转换。它只是抑制“未使用的参数”警告。这里没有调用任何内容。
-
看起来它可能是尚未编写的代码占位符函数,或者可能是关闭调试模式时的 null 函数替代。只是猜测,但它没有做任何事情。
标签: c++ function casting function-parameter