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

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

所以我需要将其传递给我的手牌评估器类以针对可能的手牌进行分析,但是当我尝试递增到数组中的第二个元素时,它会把它发送出界吗?我已经检查过,数组中确实填充了正确的值,所以我有点困惑。我认为我只是做错了增量。我是一个菜鸟,所以我很困惑,哈哈。

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

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

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

提前干杯, 保罗

最佳答案

您的问题出在返回语句上。

return p_holeCards[0];

应该是

return p_holeCards;

 return &p_holeCards[0];

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

关于c++ - 返回指针在另一个函数中访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286840/

相关文章:

c++ - 在 '{' 标记之前,此处不允许出现函数定义错误

c++ - 在 msvc 中引用临时文件

c++ - 将文本文件中的行解析为 vector

c++ - 在 GNU C++ 中声明一个字符串数组

java - 我的数组中发生了奇怪的事情

C:在 main 中有一个指向指针的指针,并在其他函数中创建一个数组

c - 用 C 访问 AVR 寄存器?

c - c中的多维数组

java - 使用静态作为对象时出现空指针异常?

c++ - vector <X*> vec 与 vector <X>* vec