gpt4 book ai didi

c++ - Thrift C++ Trouble compiling provided 教程 - 无法在 TProcessor 上实例化抽象类

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:27 25 4
gpt4 key购买 nike

我正在尝试编译 Thrift 0.5.0 中给出的示例 C++ 教程。我按照 tutorial\README 中的说明进行操作,并且能够毫无问题地生成示例计算器代码。但是当我尝试编译 Calculator_server.cpp 时,出现错误:

error C2259: 'tutorial::CalculatorProcessor' : cannot instantiate abstract class due to following members: 
'bool apache::thrift::TProcessor::process(boost::shared_ptr<T>,boost::shared_ptr<T>,void *)' : is abstract with
[ T=apache::thrift::protocol::TProtocol ]

知道为什么会这样吗?我没有接触过 TProcessor,它被列为一个抽象对象。 (注意:我也在使用 THRIFT-1031 Apache 补丁在 VC++ 中编译)

最佳答案

之所以报这个错是因为不能创建Abstract Class的对象 Aapache::thrift::TProcessor是一个抽象类,也就是说它有纯虚方法,要么直接定义在类中,要么继承自基类。

在您的情况下,显然是后者。

你想要做的是实现继承的纯虚方法 bool apache::thrift::TProcessor::process() ,方法的签名应该完全相同。你正在离开基础纯虚方法不变。而且您的类(class)仍然是抽象的。因此出现错误消息。

关于c++ - Thrift C++ Trouble compiling provided 教程 - 无法在 TProcessor 上实例化抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859585/

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