为std :: list定义模板erase()方法

时间:2014-03-19 07:05:48

标签: c++

这里,我想为std :: list定义erase()方法。我想确保它是正确的 我尝试以下方法:

         template<typename t> list<t>::unsigned erase(const T& E)
            {
                current= head;
                prcurrent=null;
                 while(current!=null & current->data!=E)
                 precurrent=current;
                 if current->data=E;
                   {
                      precurrent->link=current->link;
                      delete current;
                   }
               used--;
             }

1 个答案:

答案 0 :(得分:2)

你无法做到。因为您无法修改std::list的标题文件(如果您不想更改标准)。

您可以使用自定义类包装std::list并将方法导出到它,然后添加自己的方法。