Boostを語れゴラァ part5
■ このスレッドは過去ログ倉庫に格納されています
0428デフォルトの名無しさん
2008/02/01(金) 10:56:20class SuperFoo {};
class Foo : public SuperFoo {};
こんな感じのクラスがあって、
void DoSomething(SuperFoo *p);
みたいな関数があったとすると、
DoSomething(new Foo);
のようにできますよね。
void DoSomething2(shared_ptr<SuperFoo> p);
しかしこんな関数だと、
DoSomething(shared_ptr<Foo>(new Foo));
ってやるとエラーになるのでstatic_pointer_castしてやらんといけないのですが、
親クラスのキャストはいちいちやりたくないです。
これってこういうものなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています