返回指针在另一个函数中访问它

时间:2016-07-09 22:21:38

标签: c++ arrays pointers

我有一种情况,我想访问指针数组的最后一个元素。只是想知道我会怎么做。

这是代码。

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()的值设置为变量,然后递增变量。这不起作用,所以有点难过。

提前感谢知道这个简单问题答案的人。

很抱歉,如果模糊不尽,请尽量使用描述性内容。

提前干杯, 保罗

1 个答案:

答案 0 :(得分:3)

你的问题在于return语句。

return p_holeCards[0];

应该是

return p_holeCards;

 return &p_holeCards[0];

也不要忘记卡**,因为它会返回指向实际物体所在指针的指针。