我有一个非常简单的结构
struct Node{
Node* pNext;
int nValue;
};
我试图总是添加到不为空的 pNext 中。
Node *head;
void add(int nValue){
if (!head)
{
Node *node = new Node;
node->nValue=nValue;
head = node;
}
else
{
add(head,nValue);
}
}
void add(Node *pNode, int nValue){
if (!(pNode->pNext))
{
Node *node = new Node;
node->nValue=nValue;
pNode->pNext = node;
}
else
{
add(pNode->pNext,nValue);
}
}
当我调用 add(10); 第一次,它将头指针设置为实例化节点。但是当我再次调用该方法时 add(9); 我收到“访问冲突读取位置 0xCDCDCDCD”。
我的问题是,我如何检查 pNext 节点是否分配了地址?我尝试使用 == nullptr 但无济于事。