首先。我感谢大家的帮助!

这是问题。尝试将列表的边之一设置为null

list[i].getAttachedNode(j) = 0;


这是错误。

Prj3.cpp:165:34: error: lvalue required as left operand of assignment


这是我的清单整理。

Node list[47];


这是attachedNode的实现。

Node* Node::getAttachedNode(int direction) {return attachedNode[direction];}


[b]这是其所在的街区。

for(int i = 0; i<48; i++)
      {
        for(int j = 0; j<6; j++)
        {
        string info = g.returnInfo(i,j);

            switch(j)
                {
            case 0:
            list[i].setNodeName(info);
            break;
            case 1:
            if(info.compare(null) == 0)
            {list[i].getAttachedNode(j) = 0;}
            break;
                }
        }
    }

最佳答案

错误很明显:

list[i].getAttachedNode(j)


是一个r值,因此无法分配给它。只需让getAttachedNode返回参考:

Node*& Node::getAttachedNode(int direction) {return attachedNode[direction];}

关于c++ - 将节点指针设置为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13316891/

10-13 09:29