В Visual Studio я часто использую объекты только для целей RAII. Например:
ScopeGuard close_guard = MakeGuard( &close_file, file );
Цель close_guard - убедиться, что файл будет закрыт при выходе из функции, он больше не используется. Однако Visual Studio дает предупреждение, что "локальная переменная инициализируется, но не указана". Я хочу отключить это предупреждение для этого конкретного случая.
Как вы справляетесь с такой ситуацией? Visual Studio считает, что этот объект бесполезен, но это неправильно, поскольку он имеет нетривиальный деструктор.
Я бы не хотел использовать директиву предупреждения #pragma для этого, так как он отключил бы это предупреждение даже по законным причинам.