Можно ли использовать аттрибуты в параметрах main?
Можно ли использовать аттрибуты в параметрах функции main?
В стандарте указаны только 2 возможные формы без аттрибутов, но дело в том что у меня в программе не используется argc параметр и я хотел бы пометить его как maybe_unused, чтобы не выдавало предупреждения постоянно:
int main([[maybe_unused]] int argc, char* argv[]);
Ошибок код не выдает, но легально ли так делать?
Ответы (1 шт):
Автор решения: gbg
→ Ссылка
Эти атрибуты - это отключение соответствующих warning у компилятора, они не влияют на итоговый код.
Следовательно, в свете их применения, нет разницы, в каком месте их применять.
Альтернативно, можно убрать у параметра имя. Это как раз явно - нет имени, значит, и пользоваться нельзя. Понадобится воспользоваться - вернете имя на место.
int main(int, char*[]);