タイプがデータメンバーであるテンプレートクラスがありstd::vector<T>
ます。ここで、Tはテンプレートクラスのパラメーターでもあります。
私のテンプレートクラスには、これを行うロジックがかなりあります。
T &value = m_vector[index];
std :: vectorの[]演算子はbool-referenceを返さず、異なる型を返すため、Tがブール値の場合はコンパイルされないようです。
いくつかの選択肢(私はそれらのどれも好きではありませんが):
- テンプレートパラメータとしてboolを使用してはならないことをユーザーに伝えます
- 私のクラスをboolに特化しています(ただし、これにはコードの重複が必要です)
std :: vectorにboolに特化しないように指示する方法はありませんか?