>>745
>>746
ありがとうございます。

ここでいうキャストの意味がようやく解かりました。
Hoge operator & (Hoge& b, Hoge& c)と
bool operator & (Hoge& b, Hoge& c)は
両立(同時に定義)できないので、

operator & を使うのであれば、
戻り値Hoge以外はキャスト(if ((bool)(b&c)) など)しなさい、
ということですね。