自定义矢量:: erase()函数

时间:2015-07-03 22:39:00

标签: c++

我试图实现Vec :: erase()自定义函数用于学习目的,类似于原始Vector类包含的功能。这是我到目前为止所得到的:

localhost/webpages/organizer 2.0/api/test/hello

我的简化版首先检查要删除的元素是否是最后一个。在这种情况下,我们只是破坏元素并保持内存未初始化。如果元素位于Vec中间的某个位置,那么我们创建一个大小为-1的新Vec,为此大小分配内存,将前一个Vec中的元素复制到擦除的元素,然后在擦除后附加所有剩余元素一。然后我们使用函数uncreate()销毁原始Vec并简单地重新分配数据并利用新Vec中的新值。可能是代码正确的想法,但实施是一场彻底的灾难。我有这个代码的几个错误

  

1> source.cpp(131):错误C2440:'初始化':无法转换自   ' int *'到' Vec :: size_type'   1> source.cpp(131):注意:没有   可以进行此转换的上下文   1 GT; source.cpp(126):注意:   在编译类模板成员函数' int时   * Vec :: erase(int *)'   1> source.cpp(156):注意:参见函数模板实例化' int> * Vec :: erase(int *)'存在   编译   1> source.cpp(149):注意:请参阅类模板的引用   实例化' Vec'正在编制

请帮忙。任何建议将不胜感激。

0 个答案:

没有答案