Цитата(ViKo @ Jan 13 2014, 16:52)

По теме - указатель превратили в ничто. Не понимаю.
Давайте по шагам:
Код
static inline void some_function(some_type_t* a)
{
}
Предупреждение - 'unused parameter'. Логично - параметр передали но не использовали, спрашивается - зачем передавали?
Попробуем использовать параметр, но так, что бы не было лишнего кода (как то не хочется истреблять варнинг такой ценой) -
Код
static inline void some_function(some_type_t* a)
{
a;
}
Вполне валидный код, ничего не делает, и использует параметр 'a'. Имеем другое предупреждение - 'Code has no effect', т.е. п2 из предыдущего предложения в полный рост - 'Код ничего не делает'. Т.е. есть выражение, оно как то вычисляется, никаких побочных эффектов у него нет, но результат не используется. Подозрительно - зачем вычисляли?
И наконец вариант -
Код
static inline void some_function(some_type_t* a)
{
(void)a;
}
Теперь и параметр использован, и выражение имеет тип void, что обозначает невозможность его дальнейшего использования. Т.е. отсутствие использования результата уже не подозрительно - его в принципе нельзя использовать.
Имеем happy end - все счастливы