我一直在为scheme包装一个gl文件,它在gl.h头中失败了两次。我在OSx上,所以它可能与平台有关,但在我的生活中从未见过这种语法。
typedef void (* glMultiDrawElementsProcPtr) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount);注意const GLvoid* const *indices。方案C解释器有一个小的C子集,并且不理解标头的这一部分。
这意味着什么,我怎么能安全地用其他的东西来代替它.我把它换成了
const GLvoid** indices
发布于 2013-09-24 04:34:54
C和C++中的类型是从右到左的,只不过大多数人坚持把const放在错误的一边。一旦您修复了const的位置
const GLvoid* const*至
GLvoid const* const*读取该类型变得非常简单:它是指向const指针的指针,指向类型为GLvoid的const对象(您可能没有真正的GLvoid类型的卵形对象,但它是任何对象的占位符)。您还可以拥有内部指针可修改和/或对象可修改的组合,这取决于您遗漏了哪个const。
发布于 2013-09-24 04:31:50
这意味着indices是指向const GLvoid * const的指针。
上面的数据类型也可以编写为GLvoid const * const。这告诉我们,无论是GLvoid*指针指向的数据,还是指针本身,都不能被修改。
对indices本身没有这样的限制。您可以修改指向GLvoid*的指针。
https://stackoverflow.com/questions/18972943
复制相似问题