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

return pointer access it in another function

本文关键字:访问 函数 另一个 指针 返回      更新时间:2023-10-16

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

这是代码。

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];
}

所以我需要把它传递给我的手牌评估器类来分析可能的手牌,但是当我尝试递增到数组中的第二个元素时,它会将其发送到越界之外?我已经检查过并且数组正在用正确的值填充,所以我有点困惑。我认为我只是做错了增量。我是一个菜鸟,所以毫不奇怪,我很困惑,哈哈。

那么我将如何增加它呢?尝试将 getHoleCards() 的值设置为变量,然后递增该变量。这行不通,所以有点难倒。

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

抱歉,如果模糊地试图尽可能描述。

提前干杯,保罗

您的问题出在 return 语句上。

return p_holeCards[0];

应该是

return p_holeCards;

 return &p_holeCards[0];

另外不要忘记 Card**,因为它返回一个指向实际对象所在的指针的指针。