我有一种情况,我想访问指针数组的最后一个元素。只是想知道我会怎么做。
这是代码。
void Dealer::dealHoleCards()
{
//Takes the last two cards off the deck and stores in an Array
p_holeCards[0] = p_vecDeck.back();
p_vecDeck.pop_back();
p_holeCards[1] = p_vecDeck.back();
p_vecDeck.pop_back();
}
Card* Dealer::getHoleCards()
{
//Call deal and returns pointer to first element
dealHoleCards();
return p_holeCards[0];
}
所以我需要将它传递给我的Hand评估者类来分析可能的牌,但是当我尝试增加到数组中的第二个元素时,它会将它发送出界?我已经检查过并且数组正在使用正确的值进行填充,所以我有点困惑。我认为我只是在增加错误。我是一个菜鸟,所以我很困惑,我很困惑。
那我该怎么增加呢?尝试将getHoleCards()的值设置为变量,然后递增变量。这不起作用,所以有点难过。
提前感谢知道这个简单问题答案的人。
很抱歉,如果模糊不尽,请尽量使用描述性内容。
提前干杯, 保罗
答案 0 :(得分:3)
你的问题在于return语句。
return p_holeCards[0];
应该是
return p_holeCards;
或
return &p_holeCards[0];
也不要忘记卡**,因为它会返回指向实际物体所在指针的指针。