gpt4 book ai didi

c++ - 将纯虚拟更改为虚拟并保持二进制兼容

转载 作者:可可西里 更新时间:2023-11-01 17:52:30 25 4
gpt4 key购买 nike

我能否在不遇到任何二进制兼容性问题的情况下将纯虚函数(在基类中)更改为非纯函数? (Linux, GCC 4.1)

谢谢

最佳答案

当您从纯 virtual 切换到 virtual 然后重新编译代码时,没有兼容性问题。 (但是,virtual 到纯 virtual 可能会导致问题。)

唯一需要注意的是,非纯 virtual 方法必须有一个主体。它们不能一直得不到实现。即

class A {
public:
virtual int foo ()
{
return 0; //put some content
}
};

你不能简单的说喜欢,

virtual int foo();

它会导致链接器错误,即使您不使用它也是如此。

关于c++ - 将纯虚拟更改为虚拟并保持二进制兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748928/

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