Возможно, это было сделано для предупреждения компилятора о «неиспользуемом формальном параметре». То есть параметр (в настоящее время) не используется нигде в функции, поэтому это использование введено для удаления предупреждения.
Существует несколько других способов сделать это, например. литье его void
:
(void)param;
Однако все они страдают от той же недостаток: они имеют одинаковую юридическую силу, если параметр фактически используется. Поэтому вполне возможно, что вы видите их в верхней части функции, подумайте «ОК, она не использует param
», а затем удивляйтесь, когда она делает используйте ее позже.
Вот почему я предпочитаю прокомментировать имя параметра, если оно не используется. Идентификатор остается там для чтения кода, но предупреждение не предоставляется, и если вы позже измените код для использования этого параметра, вы должны явно раскомментировать его или получить ошибку.
Если параметр 'param' не используется иным образом, он должен предотвратить предупреждение о неиспользуемом параметре. Кроме этого, это не имеет никакого эффекта. Тем не менее, это может вызвать другое различное предупреждение об утверждении, не имеющем эффекта. – jrok
Скорее всего, останавливает компилятор, жалующийся на неиспользованный параметр. Но тогда он будет жаловаться, что заявление не имеет никакого эффекта. (Ну, на самом деле это разные варианты, но, вероятно, это компилируется с группами предупреждений, таких как '-Wall -Wextra'). – BoBTFish
. Следуйте по вопросу: если это была встроенная функция, то она может иметь такое же поведение, как выражение выражения gcc; обычно используется в макросах? – Bathsheba