フォリー スコープ ガードを使用していますが、機能していますが、変数が使用されていないという警告が生成されます。
warning: unused variable ‘g’ [-Wunused-variable]
コード:
folly::ScopeGuard g = folly::makeGuard([&] {close(sock);});
そのような警告を回避するにはどうすればよいですか?
フォリー スコープ ガードを使用していますが、機能していますが、変数が使用されていないという警告が生成されます。
warning: unused variable ‘g’ [-Wunused-variable]
コード:
folly::ScopeGuard g = folly::makeGuard([&] {close(sock);});
そのような警告を回避するにはどうすればよいですか?
この警告は で無効にできますが-Wno-unused-variable
、これは少し危険です (実際に使用されていない変数がすべて失われます)。
考えられる解決策の 1 つは、変数を実際に使用することですが、何もしないことです。たとえば、それを無効にする場合:
(void) g;
これはマクロにすることができます:
#define IGNORE_UNUSED(x) (void) x;
または、ブースト アプローチを使用することもできます: 何もしないテンプレート化された関数を宣言し、それを使用します。
template <typename T>
void ignore_unused (T const &) { }
...
folly::ScopeGuard g = folly::makeGuard([&] {close(sock);});
ignore_unused(g);