我正在尝试编译以下行,但我遇到了指针混淆:
int test = _s->GetFruitManager()->GetFruits()[2].GetColour();
std::cout << test << std::endl;
其中 _s 是指向 S 的指针,GetFruitManager() 返回指向 FruitManager 对象的指针,GetFruits() 返回 a std::vector<Fruit>*
,然后我希望能够使用运算符 [] 访问特定的 Fruit 对象并调用 Fruit 的 GetColour( ) 方法。
我认为在某些时候我需要取消引用 GetFruits() 返回的向量*,但我不知道如何。
抱歉,如果这有点令人费解!我对这门语言还是很陌生,但希望能得到一些帮助来解决这个问题。我确实尝试将其分解为更易于理解的步骤,但无论哪种方式都无法使其编译。
实际上我只是决定不使用这个代码片段,但这已经成为一个好奇的问题,所以我仍然会提交这个问题:)