C++相談室 part87
■ このスレッドは過去ログ倉庫に格納されています
0340デフォルトの名無しさん
2010/12/21(火) 23:38:55回答ありがとうございます。bindを併用して下記のようにしてみましたが、
「 error: cannot convert ‘B* const’ to ‘A*’ in initialization」と出てだめでした。
void Deleter(B *p){delete p;}
std::tr1::shared_ptr<A> CreateB(){
return std::tr1::shared_ptr<B>(new B(), std::tr1::bind(&BFactory::Deleter, this, _1));
}
ついでにVC2008でやってみたら、「error C2248: 'B::~B: private メンバ (クラス 'B' で宣言されている)にアクセスできません。」
ということでやっぱりだめでした。。。
■ このスレッドは過去ログ倉庫に格納されています