我有以下代码:
class Fruit {};
class Apple : public Fruit {};
class Banana : public Fruit {};
Apple** apples;
Banana** bananas;
void reportAboutFruit(Fruit** fruits);
当我尝试reportAboutFruit(apples);
时,我收到编译错误error: invalid conversion from 'Apple**' to 'Fruit**'
。
我从this question了解为什么允许reportAboutFruit()
更改数据会很危险,但是因为函数名称意味着我只想阅读它,而我只需要包含的内容基础Fruit
类。
我绝不是C ++专家,有人可以解释我是如何做到这一点的吗?