コンパイラの警告について質問です。
環境はVS2008Expressです。

先ほど2時間悩んだ末に発見した間違いがありまして、これを警告で表示してほしいなぁと思いました。
内容は
Hoge c;//Hogeはクラス
if (略) c = Hoge(0);
else Hoge(1);

というもので、elseの後ろは本来c = Hoge(1)とすべきところを、c=を忘れてしまいました。
気づいて直した後に、警告LV3なのが悪かった、4にしようと最高である4にしました。
期待としては

cが「初期化されていない可能性のあるローカル変数」として警告される。
Hoge(1)は無意味だ〜という警告(ただ、コンストラクタ内でグローバルな変数にアクセスする設計もありえるあるから、これは警告にはできないか・・・?)

のどちらかを期待したいたのですが、駄目でした。
前者は特に不思議なのですが、つかわれ方が
Honya(&c);
というポインタ引き渡しの場合には警告にならないようなのです。
(Honya(const Hoge *p)なので、constであるから警告になってもよさそうなものですけど…)

この(くだらない)ミスを再発しないためには、何か良い方法はあるでしょうか?

というつかわれ方をしていたせいで、警告がでませんでした