1. member access within null pointer of type 'struct listNode'
错误信息为:类型为'struct ListNode'的空指针内的成员访问
错误原因:发生于链表中,编译器不知道当前链表结点和结点的下一个结点是否是空指针
解决办法:判断结点是不是nullptr 或者判断下一节点是不是等于vector的size
相同类型错误:如果实在树类型的题目中就需要判断节点是否是nullptr
2. vector erase()函数 注意事项
erase()函数用于删除vector容器中的一个或者一段元素。进行单个元素删除后,传入的迭代器指向不变,仍然指向被删除元素位置,而被删除之后的元素都向前移动一位,也就是迭代器实际上指向了原来被删除元素的下一个元素。
总结:删除操作传入迭代器,而迭代器所指向的位置在删除前后是不发生改变的,改变的只是容器中的元素值,删除相应元素后,被删元素后面的所有元素复制到被删除元素的位置上去,同时指向容器尾部的迭代器也移动到新的尾部位置。
3.友元函数重载运算符时,因为没有this指针指向对象,因此参数个数保持和原来一样,运算符至少有一个参数。