gpt4 book ai didi

c++ - 如何将 vector 的单元格传递给 C++ 中的函数?

转载 作者:行者123 更新时间:2023-11-27 22:47:00 25 4
gpt4 key购买 nike

我想创建一个函数,从 vector 的单元格中获取一个对象并对其进行修改。首先,我需要通过引用该函数来传递此单元格,但我做不到。

void circleChoiceOne(Circle& object);
vector<Shape*> shapeArr;
int main()
{
circleChoiceOne(shapeArr[choice]);
return 0;
system("PAUSE");
}

我得到的错误指向第 7 行,它说:Circle & 类型的引用不能用 Shape * 类型的值初始化。

最佳答案

shapeArr[choice] 将返回一个 Shape* 但该方法需要一个 Circle&

我假设 CircleShape 的子类。

您将需要一个dynamic_cast 来将Shape* 向下转换为Circle*,然后您需要取消引用指向值,以便您可以通过引用传递它。

您需要验证 Shape* 实际上指向一个 Circle(与 RectangleTorus) 在转换之前处理并处理它没有的情况。

关于c++ - 如何将 vector 的单元格传递给 C++ 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41638467/

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