範囲ベースの for ループでループ変数を「使用」しない方法はありますが、使用されていないというコンパイラの警告を回避する方法はありますか?
コンテキストについては、次のようなことをしようとしています。「警告をエラーとして扱う」を有効にしており、どこかで無意味に言及して変数を強制的に「使用」するようなハックはしたくありません。
size_t getSize(const std::forward_list &list)
{
size_t count = 0;
for (auto & : list) // compile error, but if i do "auto &i" here, MSVC
// complains (reasonably) that i is unused
{
++count;
}
return count;
}
これを行うには他の方法があることは知っていますが、議論のために、範囲ベースの for ループを使用する必要があるとしましょう。