gpt4 book ai didi

c++ - 这是有效的 C++ 代码吗?

转载 作者:太空狗 更新时间:2023-10-29 19:37:46 25 4
gpt4 key购买 nike

我只是想知道下面这段代码在 C++ 中是否完全有效:

class A
{
public:
virtual bool b() = 0;
};

class B
{
public:
virtual bool b() = 0;
};

class C: public A, public B
{
public:
virtual bool A::b()
{
return true;
}

virtual bool B::b()
{
return false;
}
};

使用 VS2008 编译时没有任何错误,但是,在 GCC (MinGW) 3.4.5 上它给我这样的错误:

cannot declare member function `A::b' within `C'

在实现虚拟方法的行上。我很好奇这是否只是通常被认为是无效的并且被 C++ 标准禁止的代码(并且在 VS 中它因此工作感谢一些 MS 非标准化魔法),或者只是 GCC 中的错误或不支持的语言功能。

最佳答案

不,这是无效的。您不能像那样分别覆盖它们,因为它们将具有相同的签名。

有一个guru of the week关于那个。

关于c++ - 这是有效的 C++ 代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/960113/

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