LINUX.ORG.RU

[Qt] Как заигнорить неиспользуемую переменную в функции?

 


0

0

Есть функция

void f(int a, int b)
{
    return ++b;
}

При компляции g++, соответственно, выдает ворнинг по поводу того, что а неиспользуется.

Как сделать так, чтобы этого ворнинга конкретно в данной функции (не по всему проекту) не было?

Помню, что где-то видел в Qt (пишу сейчас на нем) что-то типа q_ignore(a). Пытался гуглить - не нашел.

Как это сделать?

★★
Ответ на: комментарий от anonymous

Работает, спасибо.

Это специальная фича, или как? Я не понимаю, как указатель на что-то сконвертить в void.

bk_ ★★
() автор топика
void f(int, int b) 
{ 
    return ++b; 
}
Sectoid ★★★★★
()
Ответ на: комментарий от Kristi

Форум кушает мои сообщения. Уже третий раз пишу.

Это просто переменная 'а' начинает использоваться. В Qt q_unused.

Я это понимаю, вопрос в том, что происходит в той строке. Преобразование указателя в void? КАК?

bk_ ★★
() автор топика
Ответ на: комментарий от bk_

Ничего не происходит, компилятор ничего не сгенерирует, просто перестанет ругаться. Только проще писать (void) a; вроде то же самое будет.

Legioner ★★★★★
()
#define __unused __attribute__((unused))

void f(int __unused a, int b)
{
  return ++b;
}
nanoo_linux
()
Ответ на: комментарий от antony986

использование тоже самое. (void)a пошло именно из С.

alex_custov ★★★★★
()
Ответ на: комментарий от bk_

Ну понаписали, фантазёры :3

Правильный вариант указал Легионер:

int a;
(void) a;

Я это понимаю, вопрос в том, что происходит в той строке. Преобразование указателя в void? КАК?


Любая инструкция есть выражение некоего типа. Приведение к типу (void) явно инструктирует компилятор проигнорировать значение выражения. Это стандартная идиома для подавления предупреждений компилятора о неиспользованных переменных или возвращаемых значений функции.

Все остальные варианты - турусы на колёсах.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

>Все остальные варианты - турусы на колёсах.

сдается товарищ, вы чет придумали, как с вашей конструкцией подавить ворнинг, о неиспользованном параметре шаблона?

antony986
()
Ответ на: комментарий от antony986

Какое отношение имеет неиспользованная переменная к неиспользованному параметру шаблона?

LamerOk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.