あとはbool引数を取るexplicitコンストラクタを持つクラスをつくって
それをfuncの引数にすると二重の暗黙変換はできないからfunc(explicit_bool_type);に直接intを渡せなくなる。