1

メンバーQVectorを持つコピーコンストラクターと代入演算子を持つオブジェクトAがあります。私はそのように使用します:

QVector<B*> x = GetA().GetVector();
x.at(0)->doSomething();

今、ベクトル内のすべての B で何かをしたいのですが、GetA()から一時的なコピーしか取得できなかったため、ポインターは既に削除されています。次のようなことをする別の方法はありますか

A a = GetA();
QVector<B*> x = a.GetVector();
x.at(0)->doSomething();

これは私のコピー コンストラクターの問題ですか、それともコピー コンストラクターまたは代入演算子の実装で修正できるものですか?

ありがとう

4

1 に答える 1