如何返回私有指针成员变量

How to return a private pointer member variable

本文关键字:指针 成员 变量 何返回 返回      更新时间:2023-10-16

我正在尝试实现Node对象的图形/迷宫,以便在迷宫中找到最短路径。到目前为止,除了两个部分外,其他部分都可以工作,这两个部分都与指针有关。我以为我理解指针,但C++对我来说还是个新手,所以我可能在做一些非常愚蠢的事情,任何帮助都将不胜感激。

我的Node类如下所示:

class Node {
public:
    ...
    Node *getAttachedNode(int index);
    Node *getPrevious();
    ...
private:
    ...
    Node *attachedNodes[4];
    Node *previous;
    ...
};

现在班上还有其他东西,但一切都如我所料。在这个项目的说明中,我得到了这节课上的一切。然后我用这种方式实现了这两个功能:

Node* Node::getAttachedNode(int index) { //EDIT: fixed the syntax
    return *attachedNodes[index];
}
Node* Node::getPrevious() { //EDIT: fixed the syntax
    return *previous;
}

EDIT:在更正我的函数调用语法后,它修复了最初的错误,但现在用"无法将'Node'转换为'Node*'作为返回"替换了这两个错误

Node Node::*getAttachedNode(int index) {      //wrong syntax for returning pointers 

应该改为

Node* Node::getAttachedNode(int index) {      //correct syntax

同时更改

return *attachedNodes[index];

return attachedNodes[index];

如果要返回指针。