结构中动态数组的迭代器

Iterator on dynamic array in a struct

如何在动态数组(在结构中)上创建迭代器?

您的动态数组,由类型 struct _Lista 表示, 包含 "elements of any type"。至少不是直接的。它仅包含 void * 类型的元素。如果您将类型 iterator 相应地更改为 double 指针,几乎所有您编写的内容都会起作用:

typedef void **iterator;

但是请注意,这个迭代器实现有一个严重的缺陷:它不包含任何关于列表边界的信息。如果您确保在最后一个有效元素之后(也可能在第一个之前)有一个标记值,那可能没问题,但否则您将需要一个比一个指针更复杂的数据结构。