Что происходит с этим пустым указателем? - PullRequest
3 голосов
/ 16 февраля 2011

Это некоторый C-код из прошивки Make Controller.Я знаком с пустыми указателями, но я никогда не видел синтаксис, подобный первой строке этой функции.Что именно достигается этим?

void MakeStarterTask(void* parameters)
{
  (void)parameters;
  Run();
  TaskDelete(NULL);
}

Ответы [ 3 ]

5 голосов
/ 16 февраля 2011

Он "использует" parameters, поэтому компилятор не выдаст предупреждение о неиспользованном параметре, но выражение само по себе ничего не делает. Любое выражение может быть приведено к void, что отбрасывает результат.

(Имейте в виду, что выражение все еще вычисляется; сделать выражение полностью игнорируемым - сложнее .)

1 голос
/ 16 февраля 2011

Вероятно, это необходимо для того, чтобы подавить предупреждение компилятора о параметре, на который нет ссылок, например, макрос UNREFERENCED_PARAMETER .

0 голосов
/ 16 февраля 2011

Указывает компилятору не жаловаться на неиспользованный параметр parameters.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...