私はC#プログラマーで、厄介なポインターに問題があり、間違いが何であるかを知ることができません。リストのヘルプを使用できます。
つまり、基本的に私はカードのスタックのようなものを持っており、これらのカードはリストに保存されます。一番上を取得して関数に戻したいだけです。pop_back()を使用することもできますが、最後のカードはカードバックであるため、そのままにしておく必要があります(後でテクスチャなどを使用して作成します)
Card * CardStack::HandOut()
{
if (m_Stack.size() > 1)
{
list<Card *>::iterator it = m_Stack.end();
advance(it, -2);
Card *ret = *it;
Card tmp = *ret;
Card *tmpp = &tmp;
m_Stack.remove(ret);
return tmpp;
}
return NULL;
}
だから私はいつも最後から2番目のカードをポップバックしたい。私はそれが完全な初心者の間違いだと確信しています:(