gpt4 book ai didi

c++ - 使用指向对象的指针作为函数参数

转载 作者:行者123 更新时间:2023-11-30 05:39:55 25 4
gpt4 key购买 nike

我目前正在为游戏 Boggle 开发一个基本的模拟器,现在我已经到了需要在函数调用中使用指向对象的指针的地步。然而,我不确定如何做到这一点,到目前为止,我在这个网站和其他地方的搜索并没有取得成果,因为从我所看到的来看,问题并不是关于指向对象的指针。以下是我从类中调用函数的代码、对象的初始化以及我尝试的函数调用。 setAdjacency 函数位于 boggleNode 类中。

void setAdjacency(boggleNode * topleft = NULL, boggleNode * top = NULL,    boggleNode * topright = NULL, 
boggleNode * left = NULL, boggleNode * right = NULL, boggleNode * botleft = NULL, boggleNode * bot = NULL, boggleNode * botright = NULL){
adjacency[0] = topleft;
adjacency[1] = top;
adjacency[2] = topright;
adjacency[3] = left;
adjacency[4] = right;
adjacency[5] = botleft;
adjacency[6] = bot;
adjacency[7] = botright; //For keeping track of which nodes are adjacent to which other ones.
}

这些是 boggleNode 中的私有(private)变量:

private:
boggleNode * adjacency[8];
char letter;
bool isUsed;

“董事会”定义如下:

boggleNode * board = new boggleNode[16];

最后,这里是我尝试在主函数中调用邻接函数的地方:

board[0].setAdjacency(board[1], board[4], board[5]);  

我知道目前这个函数调用中的参数是引用,而它们应该是函数定义中的指针。如何使函数调用和函数定义正确对齐?

最佳答案

指向对象的指针的值是对象的地址。要获取对象的地址,需要使用“addressof”运算符:&

board[0].setAdjacency(&board[1], &board[4], &board[5]);

关于c++ - 使用指向对象的指针作为函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32020036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com