求大神, 关于c++的问题

bool LinkList::Delete(int pos)
{
Node *currentNode = m_pList->next;
Node *nextNode = nullptr;
if (pos < 0 || pos >= m_iLength)
return false;
for (int i = 0; i < pos; i++)
{
currentNode = currentNode->next;
nextNode = currentNode->next;
}
currentNode->next = nextNode;
delete currentNode;
m_iLength--;
return true;
}

这个写法有毛病 没 删除链表中的元素 pos是代表的是索引 从0开始
我在类里面定义了一个m_iLength记录位置 是不是就不需要判断currentNode是否为空了 是吗 还是还需要写
求大神帮忙规范下
最好是仿STL风格的链表

要看完整的代码,如果每次都从0开始,那么就没有必要,否则还需要。