我正在破译别人的c ++代码,该代码具有以下结构定义(在* .h文件中)
struct QD_API qd_real {
double x[4]; /* The Components. */
qd_real();
qd_real(const char *s);
qd_real(const dd_real &dd);
qd_real(double d);
qd_real(int i);
}
这段代码实际上是什么声明?我不明白为什么在struct
之后有两个名称,而不是由:
分隔,因此这似乎不是继承的一个例子。我环顾四周,但没有找到任何关于这种奇怪用法的帮助。
答案 0 :(得分:3)
我查看了宏QD_API
,它基本上什么也没做。它用于装饰以表明struct
是QD_API
的一部分。
#ifndef QD_API
#define QD_API /**/
#endif
见这里:https://github.com/wilmerhenao/BFGS/blob/master/lib/qd/qd_config.h