- 654 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 23:48:11 ]
- スマポのお勉強してるんですが
キャストってどうやって実装してるんでしょうか? class hoge : public fuga; void test(const oreore::unique_ptr<fuga> &p); oreore::unique_ptr<hoge> p(new hoge); test(p); といった感じの使い方を許可したいんですがどうにもうまくいきません 所有権の移動を禁止する方針で作っている(コピー代入を封印)のでキャストするときにテンポラリな値を返せません template <class Other> oreore::unique_ptr<Other> (void) { return oreore::unique_ptr<Other>(*this); // 禁止されてる }
|

|