我正在为大学作业制作一个简单的甲板/卡片/手面向对象的系统,但我已经陷入了这个问题。
我建立了一个简单的测试类,它调用对象中的各种方法。
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 ?? () ()