ポインターを交換しようとしていますが、アクセス エラーしか表示されません。これを行う方法はありますか?
void Swap(someObject *first, someObject *next)
{
delete first;
first = next;
// I'm guessing this delete first pointer as well ?
delete next;
next = new someObject();
};
メソッドの明確化: 最初に 2 番目と交換し、2 番目に「someObject」の新しいインスタンスを作成する必要があります。= FIRST = SECOND、SECOND = FIRST のように交換しないでください。最初が 2 番目になり、2 番目が新しいオブジェクトまたはオブジェクトへの新しいポインターになります。
2 番目 = 次。
解決
void Swap(someObject*& first, someObject*& next)
{
std::swap(first, next);
next = new someObject();
};