传递**作为基础**

时间:2015-09-20 06:56:42

标签: c++

我有以下代码:

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 ++专家,有人可以解释我是如何做到这一点的吗?

0 个答案:

没有答案