>>775
>>774に書いたのは簡単な例で、実際はトグルした後に長い処理があります。
ですからオーバーライドはしたくないのです。で、今どうやってるかというと、

class my_bool {
public:
 bool elem;
 bool toggle(const int& i=-1) {
  if (i<0) elem = !elem; else elem = (bool)i;
  return elem;
 }
};

としています。これでもとくに問題はないのですが、
5行面のconst intをboolに変えるところでwarningが出ますし
見た目も良くないなぁと。で>>774に書いた疑問を感じたのです。