【发布时间】:2014-12-19 19:29:53
【问题描述】:
我在一些地方看到
struct dri2_egl_config *dri2_conf = dri2_egl_config(conf);
结构在哪里
struct dri2_egl_config
{
_EGLConfig base;
const __DRIconfig *dri_single_config;
const __DRIconfig *dri_double_config;
};
而conf 是_EGLConfig*。
但是当我在 C++ 上尝试这个时,它无法编译。如何在 C++ 上执行此操作以访问其他结构参数?
【问题讨论】:
-
对于 C++,它只是:
dri2_egl_config *dri2_conf = dri2_egl_config(conf);。 -
@PaulR 先生,我从来没有遇到过这个。你能详细说明一下这里做了什么吗?
-
@SouravGhosh 它似乎不太可能是构造函数。正如 PaulR 所说,
dri2_egl_config()似乎也是一个函数,这将在 C++ 中引起问题。我看不出有任何其他方式可以工作,因为结果被分配给了一个指针。 -
带有双下划线的名字在C和C++中都是保留的;它们不应该在普通代码中使用。您确定图书馆鼓励您使用这些名称吗? (如果是这样,这些库就不正常了。)
-
一如既往,请向我们提供您的编译器生成的诊断信息。否则这只能是猜测工作。
dri2_egl_config也可以是宏,随便...