共変の戻り値型
東方算程譚 こばりあんすより、
私も書いてみた。
class VB { public: virtual VB* create() { return new VB; } }; class LB:public virtual VB { public: virtual LB* create() { return new LB; } }; class RB:public virtual VB { public: virtual RB* create() { return new RB; } }; class D:public LB, public RB { public: virtual D* create() { return new D; } };
VC8だとエラーが出る。
最近プログラムをあまり書いてないんだが、コンパイラのバグに遭遇する率が高い気がする(他人の遭遇率は知らないけど)。