C++相談室 part36

このエントリーをはてなブックマークに追加
855デフォルトの名無しさん
>853
コンパイラは x ? y : zという演算の型を,
yとzの型を元にいくつかの複雑なルールに従って決めようとします.
そしてyとzの型が関係の無い型のポインタ型であるときには,
この演算結果の型を決めることが出来ずコンパイルエラーとなります.
ちなみにあなたがやりたいことは以下で出来ます.

i == 0 ? (A*)new B : new C