-3
已解决*实际上发生错误是因为它没有使用子类的方法,因为它们是在超类中实现的,所以它在从ListaIterador但如果来自上层,则不要这样做。尝试在C++中使用超类时发生运行时错误
您好我创建了一个类的ListIterator一个通用型的,它扩展了迭代器,所以我做实现迭代器中的ListIterator类的方法。这个想法是为了使用Iterator类中可用的方法(只读方法)创建一个迭代器。 首先我创建一个ListIterator,插入一些东西,然后我想创建一个迭代器对象,并使用只读方法,但在列表上。 我希望自己清楚,注意我是用西班牙文编码的,所以Iterador意味着迭代器,Insertar是插入的,Avanzar意味着下一个。
这个代码抛出运行时执行错误,不知道为什么,也许你可以给我一个解决方案
ListaIterable<int> *iter = new ListaIterable<int>;
Iterador<int> *ITERADOR = iter;
iter->Insertar(123); //note here I use iter and not ITERATOR for inserting.
iter->Insertar(987); //also here
cout << ITERADOR->ElementoActual()<<endl; //now this method should show the element
ITERADOR->Avanzar() // means next()
cout << ITERADOR->ElementoActual()<<endl;
**什么错误?**它是一个访问冲突或段错误访问无效的或空指针? –
有关断言失败 – HoNgOuRu
我正在尝试这样做。 Person per = new Athlete(); Person per2 = per; per2-> ShowName(); 应工作 – HoNgOuRu