我正在尝试使用以下行进行编译,但我遇到指针混乱:
int test = _s->GetFruitManager()->GetFruits()[2].GetColour();
std::cout << test << std::endl;
Run Code Online (Sandbox Code Playgroud)
其中_s是指向S的指针,GetFruitManager()返回指向FruitManager对象的指针,GetFruits()返回a std::vector<Fruit>*然后我希望能够使用operator []来访问特定的Fruit对象并调用Fruit的GetColour( ) 方法.
我想在某些时候我需要取消引用GetFruits()返回的向量*,但我无法弄清楚如何.
如果这有点令人费解,请道歉!我仍然对这门语言很陌生,但是会感谢一些帮助清理它.我确实尝试将其分解为更易消化的步骤但无法以任何方式编译.
我实际上只是决定不使用这个代码片段,但它变成了好奇心,所以我仍然会提交问题:)
你需要这样做:
(*(_s->GetFruitManager()->GetFruits()))[2].GetColour();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
190 次 |
| 最近记录: |