0

我希望你们读者不会介意在这里回答我的简单要求。

GLenum GlewInitResult = glewInit();

我想确保我理解这一点。

GLenum 是否将 GlewInitResult 设置为 aa uint?

并且 GlewInitResult 是否仅分配给 glewInit() 的返回值?

或者进一步问,有什么区别

GLenum GlewInitResult = glewInit();

GLenum GlewInitResult = glewInit; //this statement gives me a type mismatch error

在这样的声明(?)中删除括号有什么作用?

对不起,如果这是一个微不足道的问题。我只是想确保我掌握/理解了使用 freeglut 进行 opengl 编程的整体概念。

4

1 回答 1

4

它声明一个名为的变量GlewInitResult并将函数调用的结果分配glewInit给该变量。

您可以将其视为两个步骤:

  1. 声明变量
  2. 将函数调用的结果赋给变量

即与

GLenum GlewInitResult;
GlewInitResult = glewInit();

这是非常基本的东西,应该出现在任何 C(或 C++)书籍的第一章中。它与 OpenGL 或 GLEW 库无关

至于你的第二个问题,第一个调用函数glewInit并将返回的结果存储在变量中。第二个尝试在变量中存储指向函数的指针,并且当变量被声明为错误的类型时,您会收到错误。

于 2013-06-23T00:50:54.120 回答