死に損なったていうなwww


悪夢はVC++にて発生した。

気付いちゃえば簡単だったんだが、
 boolean ? ClassA() : flag ? ClassB() : ClassC()
で、ClassBがClassA型に暗黙に型変換できなかったみたいで、
じゃあ逆にキャストしてくれよと思ったがそれがなんかうまくいかなかった。
(ClassCの兼ね合いか?)

うん、うまく説明出来なくてゴメン。
ネストされたtemplateが変に絡み合っていて、
VC++の吐くエラーメッセージがここから発生してないところがミソだった。
テンプレートコンストラクタのところがおかしいみたいなこといわれて
その辺を頑張ってデバッグしてしまっていた。


結局
 boolean ? static_cast<ClassB>(ClassA()) : flag ? ClassB() : ClassC()
これで全部解決したのだが、泣きそうになった。