gpt4 book ai didi

c++ - 如何访问由另一个函数作为指针返回的对象的函数。

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

又是那个在制作令人难以置信的模拟器的人!这次我遇到了一个问题,该函数由于语法原因被迫返回指向对象的指针。我想访问所述指针指向的对象的函数。我该怎么办?我的代码涉及的功能如下。

boggleNode * nextNode(int adj){
return adjacency[adj]; //For switching between nodes.
}
bool getUsed(){
return isUsed;
}
private:
boggleNode * adjacency[8];
char letter;
bool isUsed;
};

最后,这里是包含上述函数的函数:

int sift(boggleNode bog, string word, string matcher){
int endofnodes;
string matchee;
if (bog.getData() == 'q')
matchee = matcher + bog.getData() + 'u';
else
matchee = matcher + bog.getData();
if (compare(word, matcher) == 0){
cout << word << endl;
return 5; //If it finds the word, escape the loop.
}
if (word.find(matcher) == 0){
bog.makeUsed();
for (int j = 0; j < 8; j++){
if (bog.nextNode(j) != NULL){
if ((bog.nextNode(j)).getUsed() == 0){
endofnodes = sift(bog.nextNode(j), word, matchee);
if (endofnodes == 5)
return endofnodes;
}
}
bog.reset();
return 0;
//If it doesn't find anything, move onto next adjacency.
/*any words share a common starting letter sequence with matcher*/
//Sift using an adjacent node, and add the old string to the new one.
}
}
}

其中我特别询问这一行:

if ((bog.nextNode(j)).getUsed() == 0)

当我尝试编译此代码时,出现“错误:成员请求getUsed' in (&bog)->boggleNode::nextNode(j)',非类输入 `boggleNode*' "

非常感谢任何帮助。提前致谢!

最佳答案

您应该使用 -> 而不是 :

if ((bog.nextNode(j))->getUsed() == 0)

在这种情况下,这是简写:

if ((*(bog.nextNode(j))).getUsed() == 0)

关于c++ - 如何访问由另一个函数作为指针返回的对象的函数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32060607/

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