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

时间:2014-11-07 04:32:52

标签: c++ pointers

我正在尝试实现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;
}

编辑:在更正了函数调用的语法后,它修复了原始错误,但现在将它们替换为"无法转换' Node'到节点*'作为回报"

1 个答案:

答案 0 :(得分:1)

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

应该改为

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

同时更改

return *attachedNodes[index];

return attachedNodes[index];

如果你想返回指针。