gpt4 book ai didi

c++ - STL vector 和使用 [] 运算符

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:42 25 4
gpt4 key购买 nike

我正在尝试编译以下行,但我遇到了指针混淆问题:

int test = _s->GetFruitManager()->GetFruits()[2].GetColour();
std::cout << test << std::endl;

其中 _s 是指向 S 的指针,GetFruitManager() 返回指向 FruitManager 对象的指针,GetFruits() 返回 std::vector<Fruit>*然后我希望能够使用运算符 [] 来访问特定的 Fruit 对象并调用 Fruit 的 GetColour() 方法。

我认为在某些时候我需要取消引用 GetFruits() 返回的 vector*,但我不知道该怎么做。

如果这有点令人费解,我们深表歉意!我对这门语言还是很陌生,但希望能得到一些帮助来解决这个问题。我确实尝试将其分解为更易于理解的步骤,但无法以任何一种方式进行编译。

实际上我只是决定无论如何都不使用这个代码片段,但它已经成为一个好奇的问题所以我仍然会提交这个问题:)

最佳答案

你需要这样做:

(*(_s->GetFruitManager()->GetFruits()))[2].GetColour();

关于c++ - STL vector 和使用 [] 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10193605/

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