dominoes.erase()
タイプの whichを呼び出すたびにstd::vector<Domino>
、セグメンテーション違反が発生します。値をハードコーディングしても。
別のメンバー関数を呼び出しdominoes.push_back()
てデータをロードpop_back()
し、ベクターからドミノを削除して返すために使用できるので、そこにデータがあることがわかります。Domino オブジェクトに対してコピー コンストラクターを作成しましたが、問題なく動作します。まで絞り込みましたdominoes.erase()
。
Domino::Domino( const Domino &d ) {
left = d.getHighPip();
right = d.getLowPip();
}
Domino DominoCollection::drawDomino( void )
{
int index = random.nextNumber( dominoes.size() );
Domino d( dominoes[index] );
dominoes.erase( dominoes.begin() + index );
return Domino( d );
}
どんな助けでも大歓迎です。ありがとう!