读过这个线程计算器:Strange class declaration ,但仍与下面的代码混淆在foo.h
:一个奇怪的C++类的声明
class Foo CHECKLEAKDCL {
我相信,富应该是类名,因为有构造函数和解构者可以暗示这一点。
我在这个.h文件中看不到与CHECKLEAKDCL相关的任何宏定义。
也是我感到困惑的答案为Strange class declaration,其中说:
Q_CORE_EXPORT不是标识符。它是一个与平台相关的宏,它用于指示一个旨在跨越 库边界使用的类。
任何人都可以对此有更多的解释吗?
UPDATE:发现这条线在.h文件中,它包括在foo.h
:
#define CHECKLEAKDCL : private CheckLeak
所以类信息声明应该是:
class Foo : private CheckLeak {
所以Foo
是extend ing CheckLeak
,对吗?
搜索'CHECKLEAKDCL'的整个项目,必须将其定义为某处的预处理器宏。 –
看看这个:http://stackoverflow.com/questions/7840874/what-does-it-mean-when-a-class-declaration-appears-to-have-two-names我希望它可以帮助你= D – Nestoraj
无论是那个还是'Foo'都被定义为一个扩展为空的预处理器宏,或者更糟糕的是扩展为'{}; class'。 –