gpt4 book ai didi

c++ - 使用迭代器访问存储在 vector 中的类对象的方法。如何?

转载 作者:太空狗 更新时间:2023-10-29 20:00:00 25 4
gpt4 key购买 nike

嘿,我在这里问第一个问题,非常感谢。我正在使用一个 vector 来存储一系列指向 CSquare 类对象的指针,我想要一个可以传递的迭代器,以便我可以访问某个对象的函数。这是我目前尝试此操作的代码,但没有运气。 IntteliSense 告诉我“没有可用的成员”。

    vector <CSquare*> pSquares;
//filled in vector
vector<CSquare*>::iterator tempIt = pSquares.begin();
tempIt->getName();

不确定还有什么要补充的,但如果您需要任何其他帮助,请告诉我。

再次感谢。

编辑:问题已解决,我不得不取消引用两次。以下代码有效,我想我会留下它以防万一其他人需要同样的帮助,感谢您的查看。

    vector <CSquare*> pSquares;
//filled in vector
vector<CSquare*>::iterator tempIt = pSquares.begin();
(**tempIt).getName();

最佳答案

请记住,您需要取消对迭代器的引用才能获得指向的对象。因为这是一个vector<CSquare*> ,您的迭代器实际上是一个指向指针的指针- CSquare ,所以你需要这样做:

(*tempIt)->getName();

关于c++ - 使用迭代器访问存储在 vector 中的类对象的方法。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com