Отключить "неиспользуемую функцию" для определенного имени функции
Я компилирую проект с "Обрабатывать предупреждения как ошибки".
Проблема в том, что мне нужен список добавочных типов:
/questions/43637457/postroenie-spiska-vremeni-kompilyatsii-postepenno-v-c/43637466#43637466
И GCC справедливо жалуется, что набор объявленных статических функций не определен и не используется. Я не хочу полностью отключать эту диагностику. Вместо этого я хотел бы отключить его только для функций с определенным именем. Есть ли такая возможность? Может быть, какой-то атрибут? Или вариант компиляции?
Пояснение: мне не нужно отключать предупреждение для указанного фрагмента файла. Мне нужно отключить его для конкретной функции.
РЕДАКТИРОВАТЬ: я смог решить мою проблему, используя трюк на основе ADL. Так что вопрос больше не актуален.
2 ответа
Это лучше всего сделать с __attribute__((unused))
Расширение GCC, как в коде ниже:
namespace {
void f() __attribute__((unused));
void g();
void f() {}
void g() {}
}
int main() {/*f(); g();*/ return 0;}
В C++17 вы можете объявить свою функцию с помощью [[maybe_unused]]
:
[[maybe_unused]] void foo (int, int);