Edit2: 申し訳ありませんが、回答が問題を解決するかどうかを実際に確認せずに重複としてマークされるのは面倒です。提案された SO の回答は、記載されている問題には適合しません。これは、変数の固定数対変数の可変数+整数と整数値の範囲の変数の組み合わせです。それでも正しい方向性を考える場合は、私が述べた問題に対する有効な解決策を提供してください。それができない場合は、単純に重複としてマークしないでください。
ビットマスクを定義する最もエレガントな方法を見つけようとしています。このビットマスクは整数で、マップ上のオブジェクトの可視性を定義します (32 レベルなので、ビット 0..31 は 32 レベルのそれぞれの可視性を定義します)。
私が理想的にしたいこと:
int visibilityMask = CreateVisibilityMask(0..12, 16, 22);
したがって、上記はビットマスクを作成する可変引数関数になります。.. をオーバーロードして、それ自体でビットマスクを作成し、それを他の値と OR 演算する必要があります。
こいつは本当に大変だと思います。しかし、それは不可能ですか?
編集:申し訳ありませんが、この回答があなたが提案した回答と重複していると思われる場合は、私のニーズに応じて他の回答をどのように使用できるかの例を作成してください. 提供された回答では、変数内の範囲と単一の int 値の組み合わせは許可されていません。簡単に解決できると思われる場合は、提供してください。
注:元の質問は、「..」のオーバーロードに関するものでしたが、これは不可能です。これについて説明していただきありがとうございます。