2

私は大学の課題のために単純なデッキ/カード/手のオブジェクト指向システムを作成していますが、この問題に行き詰まっています。

オブジェクトのさまざまなメソッドを呼び出す簡単なテスト クラスをセットアップしました。

int main() {
Deck deck = Deck();
deck.DisplayDeck();
deck.Shuffle();
deck.DisplayDeck();
Hand hand = Hand(1);
Card* card;
card = deck.DealNextCard();
hand.AddCard(card);
hand.ftring();
deck.DisplayDeck();
}

問題はhand.ftring(). これを呼び出すと、セグメンテーション違反が発生します。奇妙なことに、コードが含まれていません。

hand.cpp:

string Hand::ftring() {
}

削除すると、最後まで実行されます。メソッドにコンソール出力を追加すると、出力されてクラッシュします。デバッガーが述べているだけなので、私は何をすべきかについて完全に途方に暮れています

Program received signal SIGSEGV, Segmentation fault.
In ?? () ()
4

2 に答える 2

3

fstring 関数で文字列を返すと宣言していますが、実際には何も返しません。これは悪いです。

于 2013-04-20T05:18:20.963 に答える
0

あなたのメソッドは a を返さなければなりませんstring- これはあなたが宣言した方法です。未定義の動作が発生しています。

于 2013-04-20T05:18:40.143 に答える