パッと見で全然分からなかったバグコード if(!this-IsComplete()) { return true; } 想定の逆が返ってくるからなんだろうとよくみると、「this->」のつもりが「this-」になってた。 コンパイル通るもんだねぇ。 「!this - IsComplete()」つまり、thisアドレスに対して!した結果引くIsCompleteの結果ということ。 !thisは常にfalseになるので「false - (true or false)」という演算になっていた模様。 気になったからVS2008でbool同士の演算をやってみた 演算子 結果 true + true true true + false true false + true true false + false false true - true false true - false true false