首先我有一个类叫做Foo
它包含一个虚函数 int Foo::getId()
我有一个类型定义:typedef std::vector<Foo*> FooList;
然后我定义Foo::FooList *list;
然后我加载这个 vector 。
我想知道如何访问 getId()
.目前我正在使用 list[a].getId();
但编译器一直说 error: class std::vector<Foo*, std::allocator<Foo*> > has no member named getId
.
感谢您的帮助!
最佳答案
list->at(a)->getId();
你也可以这样做
list->operator[](a)->getId();
或
(*(*list)[a]).getId();
或任何组合。
list
是一个指针,因此需要解引用,它包含的指针也是如此。未取消引用的指针上的数组运算符会将 a
添加到 list
- 使其指向不同的位置。
关于c++ - 在 vector 中的类中调用函数的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13411660/