Отключить неиспользуемую функцию для определенного имени функции

Я компилирую проект с «Рассматривать предупреждения как ошибки».

Проблема в том, что мне нужен добавочный список типов отсюда:

https://stackoverflow.com/a/24092000/508023

И GCC справедливо жалуется, что набор объявленных статических функций не определен и не используется. Я не хочу полностью отключать эту диагностику. Вместо этого я хотел бы отключить его только для функций с определенным именем. Есть ли такая возможность? Может какой атрибут? Или вариант компиляции?

Уточнение: мне не нужно отключать предупреждение для указанного фрагмента файла. Мне нужно отключить его для определенной функции.

РЕДАКТИРОВАТЬ: я смог решить свою проблему, используя трюк на основе ADL. Так что вопрос уже не актуален.


person Target-san    schedule 28.04.2015    source источник
comment
Не совсем. Я ищу способ не вызывать предупреждение о неиспользуемой функции только для функций с определенным именем, а не для остальной части файла полностью.   -  person Target-san    schedule 28.04.2015


Ответы (2)


Лучше всего это сделать с помощью __attribute__((unused)) расширение GCC, как в приведенном ниже коде:

namespace {
    void f() __attribute__((unused));
    void g();

    void f() {}
    void g() {}
}

int main() {/*f(); g();*/ return 0;}
person LThode    schedule 28.04.2015

В С++ 17 вы можете объявить свою функцию с помощью [[maybe_unused]]:

[[maybe_unused]] void foo (int, int);

источник: https://stackoverflow.com/a/41551608/81614

person Jyaif    schedule 03.11.2018