gpt4 book ai didi

c++ - 错误 : no matching function for call to 'Subclass::...'

转载 作者:行者123 更新时间:2023-11-30 03:16:45 25 4
gpt4 key购买 nike

我正在为学校做一个 OOP 项目,目前由于以下问题而陷入困境:

假设 A 是我的基类,B 继承自 AC 继承自 B.

A 有一个方法来检查两个 A 类对象是否发生碰撞。

此方法在 C 中没有被重新定义/过度驱动,但我必须在这个子类中使用它。


class A
{
public:
bool isColliding(A);
};

class B : public A
{
};

class C : public B
{
public:
void Eat(B);
}

void C::Eat(B objectB)
{
if(isColliding(objectB))
{
}
}

这是对代码的过度简化,我只是想传达这个想法。

它返回以下内容:

error : no matching function for call to 'C::isColliding(B)'
note: candidate: bool A::isColliding(A)
note: no known conversion for argument 1 from 'B' to 'A'.

如何让此方法将 C 和 B 解释为 A 以使其起作用?

最佳答案

为了访问基类成员,你必须如此明确地说,像这样:

if(A::isColliding(objectB)) {

关于c++ - 错误 : no matching function for call to 'Subclass::...' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56021725/

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