Что это за использование переменной приведенной к void в теле функции?

Я только учусь кодировать встроенный C. Я вижу некоторый код, как показано ниже.

Функция определяется следующим образом:

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

И это используется так:

printDebug("BLE_UART_EVENT");

Я не понимаю его цели. Это дает мне впечатление вызываемого char массив?

1 ответ

Решение

Это не звонит char массив, это просто явное преобразование char массив для void, (И оцененный результат сразу отбрасывается.)

Я думаю, что это просто используется, чтобы запретить предупреждение компилятора о неиспользуемых переменных.

Если параметр не будет использоваться вообще, было бы понятнее сделать его неназванным параметром.

void printDebug(const char[]) {}
Другие вопросы по тегам