我有一种情况想要访问指针数组的最后一个元素。只是想知道我会怎么做。
这是代码。
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 p_holeCards[0];
应该是
return p_holeCards;
或
return &p_holeCards[0];
也不要忘记 Card**,因为它返回一个指针,指向实际对象所在的指针。
关于c++ - 返回指针在另一个函数中访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286840/