我正在尝试实现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'到节点*'作为回报"
答案 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];
如果你想返回指针。